DevPrep

Все темы › Среды разработки и SDK

Keychain: что в нём хранить и как с ним работать?

Middle PRO

Суть

Keychain — зашифрованное системное хранилище для маленьких секретов: access/refresh-токены, пароли, ключи шифрования, идентификатор, который должен пережить переустановку. Записи шифруются ключами, привязанными к устройству и коду-паролю, а доступ идёт через системный демон по IPC. Это медленнее UserDefaults, поэтому значения читают по необходимости и держат в памяти.

Не место для Keychain: большие данные и кэши (шифруйте файл, а в Keychain храните ключ), несекретные настройки, а также секреты, которых вообще не должно быть на клиенте: API-ключ, вшитый в приложение, извлекается из бинаря независимо от способа хранения.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store