我知道Apple会拒绝备份可以从应用包中重新加载的数据的应用。但是,在我正在开发的应用程序中,我们将提供一些用户希望保留在Core Data存储中的基本数据以及他们创建和输入的新数据。因此,用户将使用我们提供的“库”数据,将其与自己的数据集成在一起使用。
我担心Apple是否会要求我以某种方式隔离这些数据,以使捆绑的数据不会备份到iCloud?一旦数据混合在一起,分解就会很复杂,并会给应用程序造成过重负担。
所以,我的问题是我是否要关注用户数据与应用包中提供的数据的混合?
TIA对此有任何意见,因为我在文档中没有找到任何相关信息。
答案 0 :(得分:3)
我的应用中遇到了类似的情况。它具有样本数据,但样本数据旨在由用户编辑,并附加了特定于用户的元数据。换句话说,数据是可变的,并且属于用户个人创建的其他数据。
有一次,该应用被拒绝了。我首先向审稿人提出上诉,解释数据是可变的,并且对用户来说是个人的 - 不可能完全从应用程序包中重现数据。审稿人不会让步,所以我提出上诉,他们支持审稿人。游戏结束。
您可以从捆绑中加载少量数据(<1MB)。如果您计划包含图像或任何会增加该数量的图像,他们可能会拒绝您。
我还听到其他开发人员拒绝将用户商店中的Web服务下载的数据包括在内。 Apple声称数据可以重新下载,这可能部分正确,但忽略了Web服务由第三方操作的事实,并且下载的数据可以随时取消共享。它还忽略了用户可以编辑下载的数据,并且客户端应用程序附加了无法下载的特定于用户的元数据。
该开发者也被拒绝了。他最终通过引入一组复杂的过程数据来检查应用程序:用户必须首先将数据下载到未备份的临时保留区域。然后,他们必须明确导入数据,并解除一个罗嗦的对话框,警告导入的数据将有助于他们的iCloud备份配额。可怕。但这显然是苹果想要的。
在我看来,规则是相当无意识的,并且Apple似乎完全忘记了用户界面更改和应用程序模型的重大重构方面的含义。我无法想象任何工程师参与制定规则,因为他们肯定会意识到它会给开发人员带来多少不必要的复杂性。我们只能希望他们在某个时刻看到理由。