UserDefault
class UserDefaults : NSObject
- 사용자의 기본 데이터베이스에 대한 Interface
- 앱 실행 시 Key-Value 값으로 데이터를 영구적으로 저장(Filesystem : Library - Preferences)
- → 앱이 시작될 때 UserDefaults.plist 파일이 메모리에 로드되기 때문에, 많은 양의 데이터를 UserDefaults에 저장하면 앱 성능이 저하됨
- Default System(기본 시스템)과 상호 작용
- → Default System을 사용하면 앱이 사용자가 지정한 설정에 맞게 동작
- 런타임에 UserDafaults 객체를 사용하여 앱이 Default Database를 캐시하여 사용
- 이때 Preference에 직접 접근은 제한됨→ 사용자가 탐색기 앱을 사용하여 액세스할 수 있기 때문에 보안에 취약
- → 직접 수정 시 변경 내용이 손실 및 반영 불가
- UserDefault API는 Fingerprinting에 오용될 가능성이 있음. 그렇기 때문에 앱 또는 애플에서 제공하지 않는 SDK에서 UserDefault에 접근하는 경우 사용 이유를 선언해야 함
- → Fingerprinting : 사용자의 디바이스나 브라우저 등에서 수집되는 정보를 기반으로 사용자를 식별하거나 추적하는 기술
- 최근 검색 목록, 온보딩 여부 등 (보안에) 민감하지 않은 데이터를 저장
- → 사용자 비밀번호/API 키를 저장하면 안됨
- UserDefaults에 인앱 구매 여부를 저장하면 안됨
참고링크
UserDefaults | Apple Developer Documentation
728x90
'TIL' 카테고리의 다른 글
Storyboard (1) | 2024.01.25 |
---|---|
Opaque And Boxe Type - 이해용 샘플 코드 (0) | 2024.01.19 |
Opaque And Boxe Type (2) (0) | 2024.01.19 |
Opaque And Boxe Type (1) (0) | 2024.01.19 |
UICollectionView (0) | 2023.12.15 |