【发布时间】:2013-03-04 23:55:39
【问题描述】:
您好,最近我的应用被 APPLE 拒绝了,他们说
我们发现您的应用未遵循 App Store 审核指南所要求的 iOS 数据存储指南。 特别是,我们发现在启动和/或内容下载时,您的应用程序存储 3.11 MB。要检查您的应用存储了多少数据:
- 安装并启动您的应用
- 转到设置 > iCloud > 存储和备份 > 管理存储
- 如有必要,点击“显示所有应用”
- 检查您应用的存储空间
iOS 数据存储指南指出,只有用户使用您的应用创建的内容,例如文档、新文件、编辑内容等,才应由 iCloud 备份。
您的应用程序使用的临时文件应该只存储在 /tmp 目录中;请记住在用户退出应用程序时删除存储在此位置的文件。
可以重新创建但必须保留以使您的应用程序正常运行的数据 - 或者因为客户希望它可以离线使用 - 应该使用“不备份”属性进行标记。对于 NSURL 对象,添加 NSURLIsExcludedFromBackupKey 属性以防止相应文件被备份。对于 CFURLRef 对象,使用相应的 kCFURLIsExcludedFromBackupKey 属性。
如需更多信息,请参阅技术问答 1719:如何防止文件备份到 iCloud 和 iTunes?。
有必要修改您的应用程序以满足 iOS 数据存储指南的要求。 对于离散代码级别的问题,您可能希望咨询 Apple 开发人员技术支持。请务必:
- 包括您的拒绝问题的完整详细信息
- 准备任何符号化的崩溃日志、屏幕截图和步骤,以便在 DTS 工程师跟进时重现问题。
有关如何符号化和读取崩溃日志的信息,请参阅技术说明 TN2151 理解和分析 iPhone OS 应用程序崩溃报告。
如果您在重现此问题时遇到困难,请尝试按照https://developer.apple.com/library/ios/qa/qa1764/TestingWorkflow 中所述使用 Xcode 的存档功能测试工作流。
我现在该怎么办?需要帮助
【问题讨论】:
-
您可以将数据存储在缓存目录中,即使删除也可以复制。存储在 Cache 目录中的数据不会被 iCloud 备份。出于同样的原因,我们之前也经历过拒绝。我们所做的只是将所有数据移动到缓存目录。
-
以及缓存目录保存数据多久??
-
NSCachesDirectory 可以在内存不足的情况下被删除。如果您不想在内存不足的情况下删除文件,请将其保存在文档目录下,并且不要忘记使用“不备份”属性。
标签: ios objective-c