从开发切换到生产时与iCloud帐户关联的数据

时间:2020-10-29 19:58:29

标签: ios core-data cloudkit nspersistentcloudkitcontainer

在将应用程序发送到TestFlight之前,我打算将CloudKit模式从开发切换到生产,但是我对某些事情感到困惑。

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

当我将架构切换到生产环境时,新的Beta测试人员(以及以后的用户)将创建新记录,并以自己的iCloud帐户存储在其私有数据库中。

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

在模拟器和我的设备中,我仍将在生产环境中使用与开发中相同的iCloud帐户。这是否意味着我将保留现有数据?我以为部署到生产环境不会复制记录...

因此,显然有些事情我不理解,我希望在进行下一步之前先有一个清除问题的解释。

1 个答案:

答案 0 :(得分:0)

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

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

在构建并提交给应用商店以进行测试或发布时,默认设置是指向生产。

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

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

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

您可以将开发点建立到生产阶段,反之亦然,但是我暂时将其视为超出此问题的范围!