Следуйте рекомендациям Apple при хранении данных

Редактировать на GitHub

Хранение данных и конфигурации в соответствии с рекомендациями Apple имеет решающее значение для жизненного цикла вашего приложения, в частности, когда речь идет о синхронизации iCloud, обновлении до нового телефона и восстановлении телефона из резервной копии.

Обязательно следуйте официальным Apple iOS Data Storage Guidelines:

  • Documents: Используйте эту директорию для пользовательского контента, он будет заархивирован
  • Caches: Используйте эту директорию для данных, которые могут быть восстановлены
  • tmp: Используйте эту директорию для временных файлов
  • Используйте do not back up свойство для файлов

Никогда не храните конфиденциальную информацию пользователя (например, пароли или сеансы) в этих директориях. Вместо этого используйте Keychain API.

Keychain API дает вам контроль над тем, как данные хранятся на устройстве. Убедитесь, что у вас есть хорошее понимание того, как разные свойства влияет на жизненный цикл вашего приложения.

Один часто пропускаемый вопрос, который вы должны задать себе: когда пользователь обновляется до нового устройства iOS, должны ли также переноситься данные (например, сеанс входа в систему)?

Если вы используете kSecAttrAccessibleWhenUnlockedThisDeviceOnly данные не будут включены в резервную копию iCloud или iTunes, что означает, что пользователь потеряет данные при обновлении своего устройства.