Приложение отклонено для пометки резервного копирования iCloud

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

Важно! Новый атрибут «не создавать резервные копии» будет использоваться только в iOS 5.0.1 или более поздней версии. В iOS 5.0 и более ранних версиях приложения должны будут хранить свои данные в /Library/Caches, чтобы избежать резервного копирования. Поскольку этот атрибут игнорируется в старых системах, вам необходимо убедиться, что ваше приложение соответствует Руководству по хранению данных iOS во всех версиях iOS, которые поддерживает ваше приложение.

Мое приложение поддерживает iOS 3.2 и более поздние версии, поэтому нужно ли мне учитывать разные версии iOS в моем коде или я реализую флаг «не создавать резервные копии» достаточно, чтобы пройти одобрение App Store? Я очень не хочу отказываться от поддержки версий до 5.0.1.

Пожалуйста помоги!


person reaelm32    schedule 24.03.2012    source источник
comment
технологию, не предназначенную для пометки, иногда трудно найти (поэтому вот ссылка для всех, кто окажется здесь в поисках ее): developer.apple.com/library/ios/#qa/qa1719/_index.html   -  person bigkm    schedule 16.05.2012


Ответы (2)


Правильным поведением для вашего приложения является размещение файлов в библиотеке/кэшах в операционных системах до 5.0.1 и их размещение в документах с флагом «не выполнять резервное копирование» в 5.0.1 или более поздней версии. Недостатком использования библиотеки/кэшей является то, что файлы будут стерты, когда пользователь обновит приложение (поэтому им лучше иметь возможность повторно загрузить их). Но плюс в том, что вы не будете раздувать их резервные копии файлами, резервные копии которых создавать не следует.

Обратите внимание, что в 5.0.1 или более поздней версии, если вы обнаружите, что файлов нет, вам следует проверить их расположение до версии 5.0.1 перед их загрузкой, если пользователь только что обновил свою ОС.

person Lily Ballard    schedule 24.03.2012
comment
Значит, меня отклонят, если я не буду учитывать разные версии? Это кажется каким-то нелепым. Хранение файлов в /Documents было нормальным до iOS 5. Единственная проблема была в 5.0.0, где файлы технически сохранялись в iCloud, но разве это не вина Apple? - person reaelm32; 24.03.2012
comment
@reaelm32: Я не могу точно сказать, получите ли вы отказ, но я описал то, что вы должны делать для наилучшего взаимодействия с пользователем. И нет, /Documents не был в порядке до iOS 5, Apple просто стала более строгой в отношении отклонения приложений, которые создавали резервные копии файлов, которые не нуждались в резервном копировании, примерно в то же время, когда они представили новый флаг не делать резервное копирование в 5.0. 1. - person Lily Ballard; 24.03.2012
comment
Хорошо и не хорошо, я думаю, не имеют значения для @realm32 (я думаю). Проблема заключается в БОЛЬ, связанной с изменением поведения. Я уверен, что все будет отлично, как только мы все обновим наши методы сохранения документов :-/- +1 за краткое объяснение. - person Damo; 24.03.2012
comment
Форум, кажется, имеет противоречивые ответы на эту проблему повсюду. Кто-то говорит, что пометки достаточно, а кто-то говорит, что нужно учитывать разные версии. Я попробую отправить его, просто пометив, и посмотрю, каков будет результат. - person reaelm32; 24.03.2012
comment
Также важно отметить, что вы должны использовать другой флаг в 5.1, так как традиционный флаг «не делать резервную копию» устарел. - person Benjamin Mayo; 24.03.2012

Проблемной областью является iOS 5.0, которая поддерживает iCloud, но не распознает атрибут «не делать резервную копию». В этом случае все данные приложения внутри каталога документов, скорее всего, будут скопированы в iCloud. Для версий iOS ниже 5.x:

  • резервная копия iCloud недействительна.
  • флаг «не создавать резервные копии» не имеет значения. Во время компиляции никаких предупреждений не будет.

Следовательно, данные могут храниться в каталоге документов с соответствующим флагом «не создавать резервные копии» к содержимому (файлы/папки) для всех версий. Проблема только для версии 5.0.

person iCoder    schedule 11.04.2012