iCloud 同步不会在应用程序的实时版本和应用程序的开发版本之间发生(通过 Diawi、Testflight 或 ipa 副本测试时)

Posted

技术标签:

【中文标题】iCloud 同步不会在应用程序的实时版本和应用程序的开发版本之间发生(通过 Diawi、Testflight 或 ipa 副本测试时)【英文标题】:iCloud Sync does not happen between Live Version of App And Development Version of App (When tested via Diawi, Testflight or ipa copy) 【发布时间】:2014-06-23 15:02:07 【问题描述】:

背景

    我一直在 Packing Planner 应用程序中使用 iCloud 和 Core Data。 App Store 中的当前版本是 2.0.2。它有 14000 多个用户。

    根据业务需要,我不得不在即将发布的版本 (v2.1) 中向架构中添加 4 个新属性(字段)。

    我的 XCode 版本是:5.1.1,ios 版本是:7.1.1 我已经使用自动映射实现了架构的轻量级迁移

问题

    最终用户正在使用从 App Store 下载的应用并启用了 iCloud。 最终用户通过 Diawi、TestFlight 或 ipa 复制/粘贴更新到应用程序的 2.1 版,iCloud 同步不会发生,并且用户无法在其设备中看到 iCloud 数据。 但是,如果用户通过 XCode 更新到应用程序的 2.1 版,则 iCloud 同步会按预期进行。 现实世界的用户将通过 App Store 更新应用程序,除了 Diawi、ipa 复制/粘贴和 Testflight 之外,无法测试此场景。 如何确保用户在 2.1 版本更新后能够正常使用 iCloud。

不同的场景测试

    我尝试删除 4 个新属性(字段),然后执行“问题步骤 #2”。它运作良好。如果我再次添加 4 个新属性,它将停止运行。罪魁祸首肯定是添加了属性。 我尝试在 iOS 6 上执行“问题步骤 #2”。它按预期运行,没有任何问题。

【问题讨论】:

【参考方案1】:

我知道当您尝试使用最新/相同版本安装开发版本而不是分发版本时,iCloud 同步将不起作用。要获得 iCloud 工作类型的构建必须相同。即 iCloud 同步仅在您安装新开发版本而不是旧开发版本/新发行版本而不是旧发行版本时才有效。

【讨论】:

以上是关于iCloud 同步不会在应用程序的实时版本和应用程序的开发版本之间发生(通过 Diawi、Testflight 或 ipa 副本测试时)的主要内容,如果未能解决你的问题,请参考以下文章

iCloud 同步后 UITableView 不会重新加载(Swift 2)

iOS7 / Mavericks 应用程序 icloud coredata 首次同步慢

关于测试 iCloud 同步

无法在设备之间进行 iCloud 同步

Core Data 应用程序中的 UITableView 不会更新第二个设备的主视图,除非重新启动应用程序,并使用 iCloud 同步

在应用升级期间避免 iCloud 同步上的重复数据