Где хранить личные важные данные пользователя, если каталог «Документы» недоступен?

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

Я часами читал эти документы но это беспорядок, и я надеюсь, что кто-то знает по опыту. Во-первых, в одном месте они говорят, что я должен поместить эти файлы в каталог Library .

В технических вопросах и ответах Apple говорит, что это сохранено. Насколько я понимаю, это означает, что я могу безопасно помещать важные пользовательские данные, такие как файлы базы данных sqlite3, в этот каталог. Когда пользователь обновляется до новой версии, содержимое внутри этого каталога будет сохранено, оно будет сохранено и будет доступно после обновления:

приложения могут создавать свои собственные каталоги в / Библиотека / и те каталоги будут сохранены в резервные копии и обновления

Итак, / Library / сохраняется в резервных копиях и между обновлениями.

Для меня с плохим английским это означает: ДА, данные сохранятся. Он не будет потерян, когда пользователь сделает резервную копию. Он не будет потерян при обновлении пользователя. Я нашел слово «сохраненный» в нескольких словарях, и я уверен, что оно означает «он выживет».

Но есть это примечание в Руководстве по программированию приложений iOS , в котором говорится о совершенно другом ! Здесь говорится о каталоге библиотеки:

  / Library /
Вы не должны использовать этот каталог для файлов пользовательских данных.
Содержимое этого каталога (за исключением кешей
подкаталог) поддерживаются iTunes.
Ваше приложение обычно
отвечает за добавление и удаление
эти файлы.  Он также должен уметь
воссоздайте эти файлы по мере необходимости
потому что iTunes удаляет их во время
полное восстановление устройства.
 

"Не следует использовать для файлов данных пользователя". (???)

Но в то же время они признают, что его поддерживает iTunes. ХОРОШО. Так почему бы мне тогда не поместить туда файлы пользовательских данных?

/ Library / Caches Используйте этот каталог для записи любых файлов поддержки для конкретного приложения что вы хотите сохранить между запусков приложения или во время обновления приложений. (...) Он также должен иметь возможность воссоздавать эти файлы по мере необходимости, потому что iTunes удаляет их при полной реставрации устройства.

Что ?! Я должен поместить эти файлы в библиотеку / кеши. Но этот каталог не поддерживается iTunes , как было сказано выше. Так что это только для обновлений, но не для резервного копирования. И данные могут быть удалены системой в любой момент.

Это меня полностью сбивает с толку. Насколько я понимаю, я могу выбирать между злом и дьяволом: данные в / Library / не сохраняются при обновлениях, но поддерживаются iTunes. Данные в / Library / Caches действительно переживают обновления, но не поддерживаются iTunes, И они могут быть удалены системой (поскольку это «кэш») в любое время.

И, с другой стороны, технические вопросы и ответы предполагают размещение этих важных пользовательских данных в настраиваемой подпапке в / Library /, например /Library/PrivateDocuments.[12177 sizes В отличие от руководства по программированию приложений iOS, технические вопросы и ответы говорят: весь каталог / Library всегда был сохранен во время обновлений и резервных копий

Итак, на самом деле, один из обоих документов ДОЛЖЕН быть неправильным. Но какой? Что правда? Пожалуйста, не домыслы! Я ищу ответы на собственном опыте и чувствую, что нет другого способа понять это, кроме как запустить приложение и помолиться. Может быть, кто-то захочет поделиться своим опытом, что действительно сработало.

6
задан dontWatchMyProfile 24 May 2011 в 17:47
поделиться