Подтвердить что ты не робот

Когда удаляются файлы из NSCachesDirectory?

В каких обстоятельствах удаляются файлы в iOS NSCachesDirectory? Очевидно, удалите и переустановите приложение. Как насчет обновления приложения? Что относительно низких условий дискового пространства? Что-нибудь еще?

4b9b3361

Ответ 1

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

расположение отбрасываемых файлов кеша (библиотека/кеши)

NSDocumentDirectory не будет очищаться от обновлений приложений, но будьте осторожны с этой папкой, так как iOS 5 теперь использует эту папку для резервного копирования в iCloud, и ваше приложение, скорее всего, будет отклонено, если вы используете этот каталог для хранения чего-либо другого, кроме пользователя сгенерированный контент.

Ответ 2

Все, что находится в папке библиотеки, НЕ будет удалено iOS во время обновления приложения.

Пожалуйста, проверьте следующую документацию от Apple, в которой говорится:

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

Application_Home > /Документы

Application_Home > /Library

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

Вот ссылка на эту документацию: http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/PerformanceTuning/PerformanceTuning.html#//apple_ref/doc/uid/TP40007072-CH8-SW10

Надеюсь, что это поможет.

Ответ 3

NSCachesDirectory можно удалить в случае низкой памяти

В iOS 5.0 и более поздних версиях система может удалить каталог Caches на в редких случаях, когда система находится на очень низком уровне на диске. Это будет никогда не происходит во время работы приложения. Однако вы должны знать, что Восстановление iTunes не обязательно является единственным условием, при котором Каталог кешей может быть удален.

подробнее

Если вы не хотите, чтобы ваши файлы были удалены, вы должны сохранить их в каталоге "Документы", но следующим образом:

Используйте атрибут "не создавать резервные копии" для указания файлов, которые должны оставаться на устройстве, даже в ситуациях с низким уровнем хранения. Используйте этот атрибут с данными, которые можно воссоздать, но они должны сохраняться даже в ситуациях с низким уровнем хранения для правильной работы вашего приложения или потому, что клиенты ожидают его доступности в автономном режиме. Этот атрибут работает с отмеченными файлами независимо от того, в каком каталоге они находятся, включая каталог "Документы". Эти файлы не будут очищены и не будут включены в пользовательскую резервную копию iCloud или iTunes. Поскольку эти файлы используют пространство хранения на устройстве, ваше приложение отвечает за мониторинг и очистку этих файлов периодически.

дополнительная информация