菜鸟教程小白 发表于 2022-12-12 13:25:04

ios - CloudKit:将记录从开发转移到生产


                                            <p><p>我正准备将我的应用提交到 App Store。从我所做的研究来看,似乎没有简单的方法将记录从 CloudKit 的开发环境移动到其生产环境。根据这个答案(<a href="https://stackoverflow.com/questions/28214891/move-record-from-development-to-production-in-cloudkit?rq=1" rel="noreferrer noopener nofollow">Move record from development to production in CloudKit?</a>),我需要将开发中的所有记录下载到某种文件中,然后将它们上传到生产。有人可以为我再分解一下这个过程吗?我应该如何下载这些记录?我应该制作什么样的文件?我不明白。谢谢!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>没有“应该”使用的方法,因为没有支持跨环境迁移数据的方法。没有可以下载并简单地重新上传的"file"。 Apple 期望的正常路径是:在 dev 环境中创建 schema,在 dev 环境中创建测试记录,将 schema 部署到 prod 环境,然后在 prod env 中重新开始新记录。由于该路径不会跨环境保存数据,因此您几乎只能靠自己找到一种方法来自己保存数据。</p>

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

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

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

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

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

<p>如果您有一个包含大量记录类型和/或字段类型的复杂架构,则第 2、3、5 和 6 步的编码可能非常困难(或至少非常耗时)。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - CloudKit:将记录从开发转移到生产,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/43672564/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/43672564/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - CloudKit:将记录从开发转移到生产