【发布时间】:2014-06-22 13:00:39
【问题描述】:
我的 iOS 应用程序被 App Store 拒绝,因为我将一些图像和 SQLite 数据库存储到 Documents 目录中并且没有为它们设置标志(不包括同步到 iCloud),这违反了 iOS 数据存储指南。
现在我已将所有内容(例如资产和数据库 sqlite 数据)移动到库/应用程序支持/离线数据中,并使用这个很棒的 StandardPath 库将所有内容标记为排除到 iCloud 中
现在当我运行应用程序时,我仍然发现 68 字节的数据正在备份到 iCloud,我发现它是位于 Library/Preferences/au.com.xxxx.plist 中的 plist 文件(因为它正好是 68 字节)
我的问题是,我是否也应该为该 plist 目录设置一个标志?还是没关系?因为我不想再次被拒绝
这里有一个similar post,OP 设法将 0kb 备份到 icloud。
我们发现您的应用未遵循 App Store 审核指南所要求的 iOS 数据存储指南。
特别是,我们发现在发布和/或内容下载时,您的 应用商店 7.1 MB。要检查您的应用存储了多少数据:
- 安装并启动您的应用
- 转到设置> iCloud > 存储和备份> 管理存储
- 如有必要,请点按“显示所有应用”
- 检查应用的存储空间
iOS 数据存储指南指出,只有 用户使用您的应用创建,例如文档、新文件、编辑等, 应由 iCloud 备份。
您的应用使用的临时文件应仅存储在 /tmp 目录;请记住删除存储在此位置的文件 当用户退出应用时。
可以重新创建但必须保留才能正常运行的数据 您的应用 - 或者因为客户希望它可以离线使用 使用 - 应标有“不备份”属性。对于 NSURL 对象,添加 NSURLIsExcludedFromBackupKey 属性以防止 相应的文件被备份。对于 CFURLRef 对象,使用 对应的 kCFURLIsExcludedFromBackupKey 属性。
有关更多信息,请参阅技术问答 1719:如何防止 文件从被备份到 iCloud 和 iTunes?。
【问题讨论】:
-
App Store 审阅者的方式很神秘,但单个小于 1 K 的 plist 文件可能不是问题,特别是如果这是用户实际想要备份的用户偏好。
-
您好 Thilo,感谢您的评论。我打开了 plist 文件,发现它是我为用户(NSUserDefaults)设置的一个标志,用于记住从服务器下载已完成。所以你是对的,这实际上是用户想要备份的用户偏好。在我重新提交后,我的应用也很快获得了批准。
标签: ios objective-c icloud appstore-approval