Должен ли я следовать рекомендациям по хранению данных iOS?


Мое приложение iOS предназначено для совместимости с iOS 5.0 и выше, и у него есть возможности iCloud, отключенные в его целевых настройках, я не интегрируюсь с iCloud. Мое приложение хранит файл sqlite и некоторые файлы изображений в папке Documents. Файл sqlite Не загружается, но изображения загружаются.

Я читал некоторые сообщения от людей, которые говорят, что их приложение было отклонено, потому что они не соответствуют рекомендациям по хранению данных iOS, но я не уверен, что это требуется только в том случае, если ваше приложение имеет возможности iCloud включены, не так ли? Должен ли я в любом случае установить NSURLIsExcludedFromBackupKey для моих файлов?

Заранее спасибо

EDIT

Я читал это здесь :

В iOS 5.0 невозможно исключить данные из резервных копий. Если ваше приложение должно поддерживать iOS 5.0, то вам нужно будет хранить данные приложения в кэшах, чтобы избежать резервного копирования этих данных. iOS удалит ваши файлы из каталога кэшей, когда это необходимо, поэтому ваше приложение должно будет изящно деградировать, если это файлы данных удаляются.

Но мне нужно, чтобы файл sqlite был в Documents, чтобы вставить данные... как я должен справиться с этим?

1 2

1 ответ:

Это не имеет никакого отношения к тому, использует ли ваше приложение iCloud или нет. Это связано с тем, что пользователь выполняет резервное копирование в iCloud, которое находится вне контроля вашего приложения.

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

У них есть проблема с заменяемыми файлами, которые копируются без необходимости. Если файл базы данных доступен только для чтения и может быть получен с сервера или пакета приложений, то не позволяйте его резервное копирование. Но если он начинается в основном пустым, а затем получает данные, добавленные пользователем через приложение, то его следует создать резервную копию. То же самое и с изображениями.