在iPhone应用程序中,我们需要把下载数据存储在哪里?

8

我正在开发In-App-Purchase功能,并在用户/Documents文件夹中实现付款后的数据下载。苹果公司拒绝了我的应用,称您没有遵循iOS数据存储指南。

有人可以帮我实现iCloud功能吗?

谢谢。


我们需要更多的信息。你下载了多少?苹果有没有告诉你具体违反了哪个指南? - James Webster
iOS数据存储指南被违反了。 - Nitesh Meshram
2个回答

21
根据iOS数据存储指南,您应该将购买的数据存储在 Application_Home/Library/Caches 目录中。下载的数据不应存放在“文档”文件夹中。
苹果提供了各种目录及其应放置内容的列表,请参考《文件系统编程指南》。最重要的包括:
  • Application_Home/Documents/ 用于存储用户文档和应用程序数据文件。
  • Application_Home/Library/ 该目录是非用户数据文件的顶级目录。
  • Application_Home/tmp/ 用于写入不需要在应用程序启动之间保持的临时文件。
一般情况下,这意味着任何不打算供用户查看的内容都应放在Library目录内。通常你会使用其中一个,但《文件系统编程指南》有一个更专业的列表,其中包括更多特定用途的目录:
  • Application Support:用于存储除用户文档外的所有应用程序数据文件。
  • Caches:用于写入应用程序可以轻松重建的任何应用程序特定支持文件
“应用程序支持”文件夹会被备份,但“缓存”不会。

谢谢,我会尝试这个方法,如果有效的话我会更新给你。谢谢。 - Nitesh Meshram

4
答案在iOS数据存储指南中有详细说明,但也存在缺点。它明确指出Documents目录是为用户创建的内容保留的,而Caches目录是为可以重新下载或重新生成的内容保留的。这可能也与数据大小有关。这回答了你的问题,但忽略了重新下载数据可能会给用户带来负担的事实;提出你的观点并提交反馈,但要准备将下载目标目录更改为Caches目录。
iOS数据存储指南: http://developer.apple.com/icloud/documentation/data-storage/ 你还要求有关iCloud功能的信息...数据存储和iCloud API是两个不同的东西。请阅读这里: http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/iCloud/iCloud.html#//apple_ref/doc/uid/TP40007072-CH5-SW1

谢谢,我会尝试这个方法,如果有效的话我会更新给你。谢谢。 - Nitesh Meshram
1
这是一篇关于某人在iOS5存储清理行为方面实际经验的好文章:http://www.marco.org/2011/10/13/ios5-caches-cleaning - jd.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接