哪种技术更好地存储IOS应用数据并在离线模式下运行应用程序?文档目录或缓存目录或temprary目录?

时间:2013-03-16 06:52:24

标签: ios objective-c

最近我的应用程序被APPLE拒绝,他们说

  

我们发现您的应用不遵循iOS数据存储指南,这是根据App Store审核指南所要求的。   特别是,我们发现在启动和/或内容下载时,您的应用程序存储3.11 MB。要检查应用存储的数据量:
   - 安装并启动您的应用程序
   - 转到设置> iCloud>存储&备份>管理存储
   - 如有必要,请点按“显示所有应用”
   - 检查您应用的存储空间   iOS数据存储指南指出,只有用户使用您的应用创建的内容(例如文档,新文件,编辑等)才能由iCloud备份。
  应用程序使用的临时文件只应存储在/ tmp目录中;请记得在用户退出应用程序时删除存储在此位置的文件   可以重新创建但必须保持应用程序正常运行的数据 - 或者因为客户希望它可供脱机使用 - 应标记为“不备份”属性。对于NSURL对象,请添加NSURLIsExcludedFromBackupKey属性以防止备份相应的文件。对于CFURLRef对象,请使用相应的kCFURLIsExcludedFromBackupKey属性   有关详细信息,请参阅技术问答1719:如何防止文件备份到iCloud和iTunes?。
  有必要修改您的应用程序以满足iOS数据存储指南的要求。   对于离散的代码级问题,您可以咨询Apple开发人员技术支持。请务必:
   - 包括拒绝问题的完整细节    - 准备任何符号化的崩溃日志,屏幕截图和步骤,以重现DTS工程师跟进时的问题   有关如何符号化和读取崩溃日志的信息,请参阅技术说明TN2151了解和分析iPhone OS应用程序崩溃报告。
  如果您在复制此问题时遇到困难,请尝试使用Xcode的存档功能https://developer.apple.com/library/ios/qa/qa1764/ TestingWorkflow中所述测试工作流程。“

我现在该怎么办?需要帮助

2 个答案:

答案 0 :(得分:3)

我也面临同样的问题。要解决此问题,您应该执行一些代码,以便您的DocumentDirectory不会与iCould同步。为此,您必须将一个单位设置为DocumentDirectory,称为不要备份

要实现这一目标code provided by the Apple.

要了解更多信息,您可以参考this

希望这会对你有所帮助。

一切顺利!!!

答案 1 :(得分:1)

基本上,Apple告诉您的是,只有用户明确创建并想要保存的文档才应存储在iCloud中。

否则,您可以将应用创建的文件保存到“Doc​​uments”目录(如果您希望它在启动之间保持)或Temporary文件夹(如果您不关心设备之间的文件会发生什么情况)上下)。

关于Yashesh的答案(给他+1!),请确保通过转到目标(应用程序)设置关闭iCloud并将“iCloud”复选框转为 off ,像这样:

Turn Off iCloud