OGeek|极客世界-中国程序员成长平台

标题: ios - CloudKit:将记录从开发转移到生产 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 13:25
标题: ios - CloudKit:将记录从开发转移到生产

我正准备将我的应用提交到 App Store。从我所做的研究来看,似乎没有简单的方法将记录从 CloudKit 的开发环境移动到其生产环境。根据这个答案(Move record from development to production in CloudKit?),我需要将开发中的所有记录下载到某种文件中,然后将它们上传到生产。有人可以为我再分解一下这个过程吗?我应该如何下载这些记录?我应该制作什么样的文件?我不明白。谢谢!



Best Answer-推荐答案


没有“应该”使用的方法,因为没有支持跨环境迁移数据的方法。没有可以下载并简单地重新上传的"file"。 Apple 期望的正常路径是:在 dev 环境中创建 schema,在 dev 环境中创建测试记录,将 schema 部署到 prod 环境,然后在 prod env 中重新开始新记录。由于该路径不会跨环境保存数据,因此您几乎只能靠自己找到一种方法来自己保存数据。

您引用的答案是建议使用这种方法 (https://stackoverflow.com/a/40414108/1641444) 在开发环境和生产环境之间切换,以便执行以下操作:

  1. 构建您的应用并配置为访问开发环境
  2. 您的应用会检索您要迁移的所有记录。检索您的所有公共(public) ID 记录。检索此用户私有(private)数据库中的所有记录。您必须找出必要的查询来检索所有记录。
  3. 您的应用会将这些记录保存在您的设备上。如何执行此操作完全取决于您,具体取决于您拥有的数据类型和数量。
  4. 重新构建您的应用,重新配置以访问 prod 环境(显然,如果您还没有这样做,请将您的架构部署到 prod)
  5. 您的应用会重新读取您在第 3 步中保存的数据
  6. 您的应用使用该数据在 prod 环境中创建新记录。
  7. 将您的应用提交到应用商店。

您在第 3 步中选择如何保存数据取决于您有多少记录、它们存储的数据类型以及您熟悉的保存/检索数据的方法。就个人而言,我的应用程序中有 SQL 数据库,所以我可能只是创建新表并将记录存储在那里。您可以打开另一个描述您正在使用的架构/数据的问题,并询问有关如何将其保存在设备上并稍后重新阅读的想法。

此外,您只能迁移已登录设备的 iCloud 帐户的 privateDB 记录。如果您使用了具有多个 iCloud 帐户的开发版本,则每个人都需要重复该过程才能迁移其所有私有(private)数据库记录。

如果您没有太多记录且没有二进制数据,另一种选择是使用 cloudkit 仪表板在 prod 数据库中手动创建新记录。

如果您有一个包含大量记录类型和/或字段类型的复杂架构,则第 2、3、5 和 6 步的编码可能非常困难(或至少非常耗时)。

关于ios - CloudKit:将记录从开发转移到生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43672564/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4