EEYatHo 앱 깎는 이야기

Swift ) UserDefaults, KeyChain - EEYatHo iOS 본문

iOS, Swift/Swift Theory

Swift ) UserDefaults, KeyChain - EEYatHo iOS

EEYatHo 2022. 3. 3. 01:41
반응형

UserDefaults

  • 속성 목록 데이터들만 넣을 수 있다. ( NSData, NSString, NSNumber, NSDate, NSArray, NSDictionary )
    .plist(property list) 파일 형태로 저장되기 때문이다.

  • 앱 내의 Library/Preferences 폴더에 저장된다.

  • 사용자 정의 개체는 Encoding을 통해 NSData로 전환하여 넣을 수 있다.

  • 큰 데이터는 넣는 것은 좋지않다. 앱이 실행될 때 UserDefaults의 plist파일이 메모리에 한번에 load되기 때문이다.

  • 앱 사용자가 특정 툴을 사용하는 등 UserDefaults에 쉽게 접근하고 수정할 수 있다.
    따라서 인앱 구매 여부, API key 등 보안이 필요한 데이터를 넣어서는 안된다.


KeyChain

  • 보안에 민감한 데이터를 쉽게 사용할 수 있도록 MacOS, iOS에서 제공하는 암호화된 컨테이너이다.

  • item 이라는 데이터 저장 단위를 사용한다.

  • 동일한 개발자가 만든 앱은 키체인을 공유할 수 있다. (특정 앱에서 로그인하면 다른 앱에서 로그인하는 기능 등)

  • 앱을 제거하고 설치해도 남아있다. (사용자가 지우지 않는 이상)

 

 

Comments