我准备将我的应用程序提交到App Store。从我所做的研究来看,似乎没有简单的方法将记录从CloudKit的开发环境转移到其生产环境。根据这个答案(Move record from development to production in CloudKit?),我需要将我在Development中的所有记录下载到某种文件中,然后将它们上传到Production。有人可以为我打破这个过程吗?我该如何下载这些记录?我应该制作什么样的文件?我不明白。谢谢!
答案 0 :(得分:3)
没有“你应该”使用的方法,因为没有支持的跨环境迁移数据的方法。没有“文件”可以下载并只是重新上传。 Apple期望的正常路径是:在dev env中创建模式,在dev环境中创建测试记录,将模式部署到prod环境,然后在prod env中重新开始使用新记录。由于该路径不会保留envs中的数据,因此您可以自己找到一种方法来自行保存数据。
您引用的答案是建议使用此方法(https://stackoverflow.com/a/40414108/1641444)在dev和prod环境之间切换,以便执行以下操作:
如何选择在步骤3中保存数据取决于您拥有的记录数量,存储的数据类型以及保存/检索您熟悉的数据的方法。就个人而言,我的应用程序中有SQL数据库,所以我可能只是创建新表并将记录存储在那里。您可以打开另一个描述您正在使用的架构/数据的问题,并询问有关如何将其保存在设备上以及稍后重新阅读的想法。
此外,您只能迁移登录到设备的iCloud帐户的privateDB记录。如果您使用了多个iCloud帐户的开发版本,则每个帐户都需要重复此过程才能迁移所有私有数据库记录。
另一种选择,如果您没有太多记录且没有二进制数据,则使用cloudkit仪表板在prod数据库中手动创建新记录。
如果您有一个包含大量记录类型和/或字段类型的复杂模式,则第2,3,5和6步可能非常困难(或者至少非常耗时)进行编码。