CloudKit:iCloud模式计划部署(使用SEAM3)



i使用seam3框架将应用程序数据与iCloud同步。我正在研究新版本,并且我的Coredata模式发生了更改。因此,我相应地更改了iCloud模式。但是我担心将其部署到生产中。当我测试同步时,我发现同步本身正常工作,但是当新模式部署在CloudKit开发环境中,并且应用程序仍使用旧模式。

,无法成功完成。

,为了避免任何问题(或最大程度地减少可观的影响( - 我需要在AppStore中使用应用程序发布将模式部署到生产环境中。我可以看到我可以在itunesconnect中设置安排安排的安排,但在CloudKit仪表板中没有看到此选项。

我还检查了Apple Doc,但没有找到任何解决方案。这个问题的最佳解决方案是什么?要在iTunesConnect中安排部署并登录到CloudKitDashboard,并在应该发布应用程序时将Schema推广到Prod中?但是,我的行动与对产品的真正促销之间会有任何差距吗?

Apple不提供任何工具来协调模式与应用程序发布。我不熟悉seam3,但是我明白了为什么旧版本将无法尝试与不理解的新模式同步。我在这里看到了两个行动:

第一个选项:您将发布一个旧应用程序的版本,该版本可容忍新的模式,或者通知检测到新架构时需要更新。然后发布新的模式。然后发布新版本的应用程序。如果您还没有分支代码(以便可以将修复程序发布到两个版本(,或者您的新模式对旧模式使用的相同记录进行更改(而不是仅添加新的记录类型(,则可以非常困难。

第二个选项:在新容器中推出新架构。您可以根据需要创建尽可能多的容器(尽管您永远无法删除它们(。因此,旧应用程序使用原始架构的原始应用程序(可能是默认的(容器。新容器中的所有新添加剂将有效地看不见该应用程序的原始版本,因此不应混淆Seam3。然后,新应用在另一个容器中使用新架构。新应用程序可以轻松地从旧容器中读取数据,然后将其写入新容器,如果您需要迁移数据。

我更喜欢第二个选项,因为旧应用的用户即使从未更新,旧应用程序也会继续运行良好。这可能会发生在仍然使用旧硬件的用户(例如iPhone5(,该硬件无法再更新到最新的iOS,但已安装了您的应用程序的较旧版本。这种方法还为您提供了迁移数据的选项,因为新应用程序可以从旧容器中读取并写入新容器。最后,您可以在新应用程序发行之前在新容器中推出新架构,以便在新版本上映的那一刻就可以准备就绪,而不会干扰旧版本。

最新更新