我为我的客户制作了一个应用程序,将目标 iOS 保留为 4。
但由于应用程序仍未提交到Apple store,我的客户正计划将其升级到iOS 5.0。
为此我阅读了苹果的指导方针 https://developer.apple.com/icloud/documentation/data-storage/并发现“只有用户生成的数据或应用程序无法重新创建的数据才应存储在 /Documents 目录中,其余数据应存储在 /Library/Caches 目录中”
在我的应用程序中,我使用应用内购买的服务器模型来购买非消耗性产品。为此,我将所有下载的数据(基本上是书籍或杂志)存储到文档目录中。数据库也存在于包含有关下载产品的详细信息的同一目录中。
我的问题是,
1. 我是否必须更改代码以将下载的数据存储到 Library/Caches 目录而不是 Documents 目录?
2. 我的数据库文件应该放在哪里(文档或缓存)?
如果我将其产品放入缓存中,那么我还必须更改检索逻辑,因为认为如果数据库中存在记录,则无需更改文件的存在,并且当用户单击时直接打开它该杂志。
请在这个问题上指导我。
提前致谢。
UPDATED:
我正在为那些仍然不确定这个问题的人更新此内容。
使用已接受答案的指南,我在我的 2 个应用程序中实现了这一点,并将其提交给 Apple Store。两者均已审核通过。
这可能会证明已接受答案中建议的解决方案是正确的。
以下是权衡:
- 如果您将文件放在 Documents 目录中,那么它们会备份到 iTunes 或 iCloud,但如果它们太大并且可以再次下载文件,那么 Apple 可能会拒绝您的应用程序
- 如果您将文件放入缓存目录中,那么它们won't进行备份,Apple 不会拒绝您的应用程序。然而,当 iOS 5 空间不足时may删除里面的所有文件。
然而,对于 iOS 5.0.1,还有第三种选择:
- 将文件放入文档中,但对其进行标记,以免备份。有一个技术说明(QA1719 http://developer.apple.com/library/ios/#qa/qa1719/_index.html#//apple_ref/doc/uid/DTS40011342)关于如何做到这一点。
我想这可能是对你来说最好的答案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)