IX. Хранение данных
Следуйте рекомендациям Apple при хранении данных
Редактировать на GitHubХранение данных и конфигурации в соответствии с рекомендациями Apple имеет решающее значение для жизненного цикла вашего приложения, в частности, когда речь идет о синхронизации iCloud, обновлении до нового телефона и восстановлении телефона из резервной копии.
Обязательно следуйте официальным Apple iOS Data Storage Guidelines:
Documents
: Используйте эту директорию для пользовательского контента, он будет заархивированCaches
: Используйте эту директорию для данных, которые могут быть восстановленыtmp
: Используйте эту директорию для временных файлов- Используйте
do not back up
свойство для файлов
Никогда не храните конфиденциальную информацию пользователя (например, пароли или сеансы) в этих директориях. Вместо этого используйте Keychain API.
Keychain API дает вам контроль над тем, как данные хранятся на устройстве. Убедитесь, что у вас есть хорошее понимание того, как разные свойства влияет на жизненный цикл вашего приложения.
Один часто пропускаемый вопрос, который вы должны задать себе: когда пользователь обновляется до нового устройства iOS, должны ли также переноситься данные (например, сеанс входа в систему)?
Если вы используете kSecAttrAccessibleWhenUnlockedThisDeviceOnly
данные не будут включены в резервную копию iCloud или iTunes, что означает, что пользователь потеряет данные при обновлении своего устройства.