ios - 有没有办法在 iOS 中标记文件,这样它们就不会在存储空间不足的情况下从 Library/Caches 目录中清除
问题描述
我们有一个使用 Newsstand 工具包开发的应用程序,因此文件存储在 Library/Caches 内,由于使用 Newsstand,我们无法更改位置。我们希望这些文件不会在存储空间不足的情况下被清除。因此,我们根据 iOS 数据存储指南将所有这些都标记为“不备份”属性: https ://developer.apple.com/icloud/documentation/data-storage/index.html
“4. 使用“不备份”属性指定应保留在设备上的文件,即使在存储空间不足的情况下也是如此。”
但不幸的是,无论如何它们都被清除了(我们在 iOS 11.3-12.0 中对其进行了测试)。请问我们可以使用其他一些方法来禁用清除吗?使其发挥作用的任何其他想法。谢谢!
解决方案
不幸的是,您无法阻止所有背部问题在存储空间不足的情况下被清除。
currentlyReadingIssue
Newsstand Kit 允许您通过设置 的属性来指定用户当前正在阅读的问题NKLibrary
。
根据文档:“Newsstand Kit 在清除由于可用闪存存储水平低的问题时会考虑此设置。”
没有办法强制 NewsstandKit 将所有过刊保持在低存储状态。
请参阅报亭常见问题解答,特别是“我的所有问题都会自动无限期地存储在用户的设备上吗?”:
“Newsstand Kit 为位于 NKIIssue 的 contentURL 上的问题提供了一个托管存储库。这个托管存储库充当您在服务器上托管的内容的缓存,并且与任何缓存一样,当系统资源变低时,它很容易被驱逐。
在这种情况下,您通过 currentReadingIssue 属性和 addIssueWithName:date: 中的 date 参数提供 Newsstand Kit 的信息有助于 Newsstand Kit 确定哪些内容对用户最重要,因为它会从缓存中驱逐元素。如果出现此类资源限制,您的报亭应用程序应该能够根据用户的请求重新下载回刊。”
currentlyReadingIssue
Newsstand Kit 优先考虑将哪些问题保留在低存储状态,不幸的是,除了保持财产最新之外,您无法对此产生任何影响。
推荐阅读
- node.js - 猫鼬聚合排序无法正常工作
- javascript - Javascript JSON.stringify 更改包含反斜杠的字符串
- python - Pandas pd 没有填充 .append
- python - 在 Cython 中使用 ZMQ
- python - 在 Excel 列中搜索字符串
- java - 如何获取所有消费者队列rabbitMq的列表?
- javascript - SuiteScript 错误 - Catch(e) - e 未定义
- flutter - 如何在颤动中创建数字选择器作为警报对话框?
- android - Android Studio 编译 Telegram 源码
- javascript - 进度条结束后如何重置