0

在将应用程序发送到 TestFlight 之前,我即将将我的 CloudKit 架构从开发切换到生产,但我对某些事情感到困惑。

在开发模式下进行测试时,我一直在 Core Data 中添加许多记录。有些是专门制作的,以便在未来的营销截图中看起来不错。借助 NSPersistentCloudKitContainer,它们可以在设备之间成功同步。这些记录与我的 iCloud 帐户和我的 Apple ID 相关联。

当我将架构切换到生产环境时,新的 beta 测试人员(以及后来的用户)将创建新记录,存储在他们自己的 iCloud 帐户中的私人数据库中,一切都很好。

但是我和我精心制作的数据会发生什么?

在模拟器和我的设备中,我仍将在生产中使用我在开发中使用的同一个 iCloud 帐户。这是否意味着我将保留现有数据?我认为部署到生产并没有复制记录......

所以,很明显,有些东西我不明白,在我采取下一步行动之前,我希望能得到一个解释来澄清问题。

4

1 回答 1

0

简而言之 - 您的开发数据将保持在开发中,当您启动从 testflight 安装的应用程序时,您将开始“全新”。

当你在开发过程中构建到模拟器或从 xcode 构建到你的物理设备时,默认是指向开发环境。

当您构建并提交到应用商店时 - 用于测试飞行或生产发布 - 默认指向生产。

这甚至适用于同一个 iCloud 帐户。一个 iCloud 帐户可以同时拥有开发和生产数据。

因此,您设备上的 iCloud 帐户的 testflight 将指向生产,但从 xcode 到您的设备(相同的 iCloud 帐户)的本地构建将指向开发。

您所有的 testflight 用户都将在生产环境中构建数据,因此当您将“真实”发布到应用商店时,testflight 测试期间创建的数据仍将存在于生产环境中(当然,除非您手动擦除它)。

您可以将开发构建到生产中,反之亦然,但我暂时认为这超出了这个问题的范围!

于 2020-10-31T16:27:40.890 回答