Есть ли способ пометить файлы в iOS, чтобы они не удалялись из каталога Library / Caches в ситуации нехватки памяти - PullRequest
0 голосов
/ 26 сентября 2018

У нас есть приложение, разработанное с комплектом Newsstand, поэтому файлы хранятся внутри Library / Caches, и мы не можем изменить местоположение из-за использования Newsstand.И мы хотим, чтобы эти файлы не очищались в условиях низкого хранения.Поэтому мы помечаем их все атрибутом «не выполнять резервное копирование» в соответствии с рекомендациями по хранению данных iOS: https://developer.apple.com/icloud/documentation/data-storage/index.html

»4. Используйте атрибут« не выполнять резервное копирование »для указания файлов, которые должны оставаться на устройстве., даже в ситуациях нехватки памяти. "

Но, к сожалению, все они все равно удаляются (мы тестировали это в iOS 11.3-12.0).Можем ли мы использовать другие методы, чтобы отключить очистку?Любые другие идеи, чтобы заставить это работать.Спасибо!

1 Ответ

0 голосов
/ 26 сентября 2018

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

Комплект газетных киосков позволяет указать проблему, которую пользователь читает в данный момент, установив currentlyReadingIssueсвойство NKLibrary.

Согласно документам: «Комплект газетного киоска учитывает этот параметр при удалении проблем из-за низкого уровня доступного флэш-накопителя.»

https://developer.apple.com/documentation/newsstandkit/nklibrary/1615812-currentlyreadingissue?language=objc

Невозможно заставить NewsstandKit удерживать все проблемы с возвратом в ситуации недостаточного хранения.

См. FAQ для газетного киоска, в частности "Будут ли все мои проблемы автоматически сохранятьсяна устройстве пользователя неопределенно долго? ":

https://developer.apple.com/library/archive/technotes/tn2280/_index.html#//apple_ref/doc/uid/DTS40011215-CH1-MANAGING_CONTENT-CAN_I_MOVE_MY_ISSUES_OUT_OF_THE_DEFAULT_NEWSSTAND_STORAGE_LOCATION_ONCE_THEY_RE_DOWNLOADED__OR_DOWNLOAD_ISSUES_TO_ANOTHER_LOCATION_

" Newsstand Kit предоставляет управляемый репозиторий для ваших проблем, расположенный на contentURL для NKIssue. Этот управляемый репозиторий действует каккеш для содержимого, которое вы размещаете на своих серверах, и, как и любой кеш, подвержен выселению, так как системные ресурсы становятся недостаточными.

В таком ровном состоянииt информация, которую вы предоставляете Newsstand Kit через свойство currentReadingIssue и параметр date в addIssueWithName: date: помогает Newsstand Kit определить, какой контент наиболее важен для пользователя, так как он удаляет элементы из кэша.Ваше приложение для газетных киосков должно быть способно повторно загружать обратно проблемы по запросу пользователя, если возникают такие ограничения ресурсов. "

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

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