我做了一些研究并了解了基本问题。我的问题是关于策略的。
背景:我提交了一个应用程序,旨在帮助足球教练管理他们的阵容。它被拒绝的原因是 2.23:在发布时,它会为位置和编队创建默认的核心数据实体。它还创建了一个示例团队,供新用户作为教程逐步完成。这些实体都存储在应用程序文档目录中的持久存储中,该目录会自动备份到 iCloud。他们说这是 4MB 的数据——我只能重新创建 60kB,这听起来是对的——无论哪种方式,Apple 都不希望默认数据进入 iCloud,因此被拒绝。
问题:修复方法是使用NSURLIsExcludedFromBackupKey
. 这让我有两个选择:
-- 简单的选择:首次启动时,只需将NSURLIsExcludedFromBackupKey
应用程序的文档目录设置为 YES。然后,在用户输入任何自己的数据后,将其设置为 NO,并NSUserDefault
在后续启动时使用 an 来维护该设置。这将让我将所有内容保存在一个持久存储中,尽管此时会备份默认数据......我猜这在技术上仍然违反规则。但在如此少量的默认数据下,苹果会抓住它吗?还是在乎?
-- 艰难的选择:使用两种持久性存储,一种用于从备份中排除的默认数据,另一种用于用户输入的非备份数据,并实现获取的属性以合并数据以供应用程序运行。可能是“正确”的答案,但这听起来很痛苦,我真的想避免学习如何做到这一点并重新设计我的数据模型和我所有的获取。
因此,在我再赌一周的复习时间之前,有没有想过这种简单的方法是否有效?还是有其他想法?