Когда удаляются файлы из NSCachesDirectory? - PullRequest
19 голосов
/ 30 июля 2011

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

Ответы [ 3 ]

10 голосов
/ 02 ноября 2011

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

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

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

9 голосов
/ 12 января 2012

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

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

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

Application_Home> / Documents

Application_Home> / Library

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

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

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

1 голос
/ 31 июля 2012

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

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

подробнее

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

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

подробнее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...