iOS

UserDefaults & Keychain

UserDefaults, Keychain Services, 보안 저장소, 민감한 데이터, 모범 사례

20 면접 질문·
Junior
1

iOS의 UserDefaults란 무엇인가요?

답변

UserDefaults는 사용자 환경설정과 같은 민감하지 않은 데이터를 영구 저장하기 위한 간단한 저장 시스템입니다. 데이터는 디스크에 plist 형식으로 저장되며 쉽게 접근할 수 있습니다. 하지만 데이터가 암호화되지 않으므로 비밀번호나 인증 토큰 같은 민감한 정보는 절대 저장하면 안 됩니다.

2

iOS의 Keychain Services란 무엇인가요?

답변

Keychain Services는 민감한 데이터를 암호화하여 안전하게 저장할 수 있는 보안 API입니다. 최신 기기에서는 Secure Enclave를 사용하여 데이터를 보호합니다. Keychain은 비밀번호, 토큰, 인증서 및 애플리케이션 보안에 중요한 기타 정보를 저장하는 데 권장되는 방식입니다.

3

UserDefaults의 표준 인스턴스에 어떻게 접근하나요?

답변

UserDefaults.standard는 애플리케이션 전체에서 공유되는 기본 인스턴스에 접근하는 표준 방법입니다. 이 인스턴스는 데이터를 자동으로 디스크에 영구 저장합니다. init(suiteName:)을 사용하면 App Groups를 통해 앱과 확장 프로그램 간에 데이터를 공유하는 명명된 인스턴스를 생성할 수 있지만, UserDefaults.standard는 대부분의 간단한 사용 사례를 처리합니다. 데이터 불일치를 일으킬 수 있으므로 여러 표준 인스턴스를 생성하지 마세요.

4

UserDefaults는 어떤 데이터 타입을 직접 저장할 수 있나요?

5

Keychain 대신 UserDefaults를 사용하는 것이 적절한 경우는 언제인가요?

+17 면접 질문

다음 면접을 위해 iOS을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기