2012-02-16 5 views
2

У меня есть приложение, которое было отклонено, потому что я загружаю некоторые изображения из Интернета, и рецензент App Store говорит, что они не должны быть скопированы (с которыми я категорически не согласен, но что может Я делаю).Предотвращение копирования файлов из iOS

Итак, я поместил все эти файлы в каталог под/Documents и добавил атрибут do not backup в файлы в подкаталоге (но забыл сделать это в самом подкаталоге).

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

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

Прямо сейчас, моя структура каталогов выглядит следующим образом:

Documents/ 
    subdir.derived/ 
     <a bunch of files> 

я поставил сделать атрибут не резервного копирования на файлы, но не на «subdir.derived».

Когда я перечитываю документацию Apple, мне интересно, работает ли атрибут «Не сохранять резервную копию» только на верхнем уровне каталога «Документы /», а не на файлах в поддиректорах.

Может ли кто-нибудь подтвердить, что это правда? Если я добавлю атрибут do not backup в «subdir.derived», это исправит мою проблему?

Спасибо, Рон

+0

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

ответ

0

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

+0

Спасибо за ответ. Думаю, я мог бы использовать каталог «caches», хотя изображения являются частью учебного приложения, и их никогда не следует удалять. На мой взгляд, они также должны быть подкреплены (что Apple не соглашается). Представьте себе, что вы изучаете медицину, и у вас есть учебное задание с кучей образов вещей, которые вы изучаете.В каталоге кэшей эти изображения могут спонтанно исчезать в ситуациях с низким уровнем хранения, а затем вы больше не сможете учиться. – Ron

+0

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

+0

Работа с магазином App может быть разочарована SOOO. Никто не разговаривает, и очень мало отзывов от рецензентов. Просто «Отклонено». Вздох!!! – Ron

3

Я бы использовал каталог Library/Caches для загруженных изображений. Вот почему он существует, и он не поддерживается автоматически, поэтому рецензенты не будут жаловаться на это. Он также имеет удобный ярлык: NSCachesDirectory.

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); 
NSString *cacheDir = [paths objectAtIndex:0]; 
+0

Большое спасибо за ответ ... см. комментарии, которые я добавил к ответу от #picciano – Ron

3

Когда мы получили подобный отказ к сведению, мы переместили все наши файлы кэша из ~/Documents в ~/Library/PrivateDocuments и установить флаг Do-Not-резервного копирования на каталог PrivateDocuments. Этого было достаточно, чтобы понравиться рецензентам App Store.

Почему бы и нет ~/Library/Caches? Хотя файлы технически кеш, наши пользователи должны иметь доступ к ним в автономном режиме. Поскольку ~/Library/Caches может быть очищен без уведомления ОС, наши пользователи могут неожиданно обнаружить, что содержимое, которое они загрузили для автономного доступа, исчезло.

Кстати, рецензент App Store явно предложил директорию PrivateDocuments.

+0

Большое спасибо за отзыв! Я попробую еще раз посмотреть, удовлетворяет ли это утверждение. – Ron

Смежные вопросы