【发布时间】:2013-04-26 14:40:41
【问题描述】:
我们的应用最近因违反iOS Data Storage Guidelines 关于在 iCloud 上备份文件而被拒绝。
我必须用do not back up 属性标记数据。
我将所有重要数据存储在 SQLite 数据库中,并将我的用户首选项存储在 UserDefaults.plist 中。我是否必须将我的 database.sqlite 文件标记为 do no back up?
我问审阅者我是否要在我的 AppID 中禁用 iCloud 对我的情况有帮助吗?回复很含糊,并没有真正给我是或否的答案。
我的应用程序中的任何内容都不需要备份,我是否可以在我的 AppID 中禁用 iCloud 支持,而不必担心将文件标记为 do not back up??
这是审稿人的回复:
2.23
我们还发现您的应用未遵循 App Store 审核指南所要求的 iOS 数据存储指南。
特别是,我们发现在启动和/或内容下载时,您的应用会存储 4 MB。要检查您的应用存储了多少数据:
- 安装并启动您的应用
- 转到设置 > iCloud > 存储和备份 > 管理存储
- 如有必要,点按“显示所有应用”
- 检查应用的存储空间
iOS 数据存储指南指出,只有用户使用您的应用创建的内容,例如文档、新文件、编辑内容等,才应由 iCloud 备份。
您的应用程序使用的临时文件应仅存储在 /tmp 目录中;请记住在用户退出应用时删除存储在此位置的文件。
可以重新创建但必须保留以使您的应用正常运行的数据 - 或者因为客户希望它可以离线使用 - 应使用“不备份”属性进行标记。对于 NSURL 对象,添加 NSURLIsExcludedFromBackupKey 属性以防止相应文件被备份。对于 CFURLRef 对象,使用相应的 kCFURLIsExcludedFromBackupKey 属性。
如需更多信息,请参阅技术问答 1719:如何防止文件备份到 iCloud 和 iTunes?。
有必要修改您的应用程序以满足 iOS 数据存储指南的要求。 对于离散代码级别的问题,您可能希望咨询 Apple 开发人员技术支持。请务必:
- 包括您的拒绝问题的完整详细信息
- 准备任何符号化的崩溃日志、屏幕截图和步骤,以便在 DTS 工程师跟进时重现问题。
【问题讨论】:
-
能否发表评论者的回复?
-
我认为你不能再“禁用 iCloud”了。您需要将您的数据拆分为用户创建/修改的内容、动态下载的内容(并且可以重新下载)、临时的并且可以扔掉的内容以及应用程序安装附带的内容(并且可以重新安装)。只有第一个类别应该是“支持云的”,
-
@Hot Licks:在应用程序 ID 下配置门户的证书、标识符和配置文件部分,我可以将 iCloud 设置为启用或禁用。我想知道这是否会阻止 iCloud 备份,这样我就不必拆分文件了。此外,我无法使用开发配置文件执行此操作,因此无法进行测试。
标签: ios