iOS和macOS应用程序之间的iCloud Core数据共享无法正常工作

时间:2016-11-10 02:02:59

标签: ios macos core-data share icloud

尝试让iCloud Core Data在不同的iOS和macOS应用之间工作。我可以看到......

1:iCloud核心数据分别在每个应用上运行(在不同设备上测试)

2:应用正在共享一个容器(文档工作正常)

3:深入研究移动文档' directory显示当iCloud核心数据连接到同一容器时显示的目录

以下是使用终端应用程序

的深入分析
iCloud~com~Distribution-Systems-Associates~RWIA     (THIS IS THE CONTAINER NAME)
 CoreData
      testFindItStore       (THIS IS THE DATA STORE NAME)                                                         
           joeruth~50BDB140-65A8-5D85-B5A2-AD5EA59FE89C   (macOS URL)
           mobile~727D323E-9EFA-4C40-BE69-7ABB9913325B    (iOS URL)

但是,它在两个应用程序之间不起作用。我读到了'' primary'在进行任何共享之前,应用程序需要经过应用商店批准。这是真的吗?应该在testFindItStore下有两个目录还是只有一个?应该有两个目录,并通过iCloud在每个目录之间传递数据变化?

以下是每个应用连接到iCloud时的日志消息:

这是Mac app log ...

2016-11-09 20:54:24.455记住它适用于Mac V3 [64763:3708924] -PFUbiquitySwitchboardEntryMetadata setUseLocalStorage :: CoreData:Ubiquity:joeruth~50BDB140-65A8-5D85-B5A2-AD5EA59FE89C: testFindItStore 使用本地存储:1表示新的NSFileManager当前令牌 2016-11-09 20:54:25.415记住它适用于Mac V3 [64763:3709018] -PFUbiquitySwitchboardEntryMetadata setUseLocalStorage :: CoreData:Ubiquity:joeruth~50BDB140-65A8-5D85-B5A2-AD5EA59FE89C:testFindItStore使用本地存储:0表示新的NSFileManager当前令牌

这是iOS日志...

2016-11-09 20:53:00.308265 Remember-Where-Its-At [299:21901] -PFUbiquitySwitchboardEntryMetadata setUseLocalStorage :: CoreData:Ubiquity:mobile~727D323E-9EFA-4C40-BE69-7ABB9913325B:testFindItStore 使用本地存储:1表示新的NSFileManager当前令牌< 2d17fda1 4ca8021b 7e3217c3 0d17701e 681b666b> 2016-11-09 20:53:00.591029 Remember-Where-Its-At [299:21902] -PFUbiquitySwitchboardEntryMetadata setUseLocalStorage :: CoreData:Ubiquity:mobile~727D323E-9EFA-4C40-BE69-7ABB9913325B:testFindItStore 使用本地存储:0表示新的NSFileManager当前令牌< 2d17fda1 4ca8021b 7e3217c3 0d17701e 681b666b>

1 个答案:

答案 0 :(得分:0)

终于开始工作了。问题是我在iOS和macOS中都改变了数据模型。我曾经想过,因为新模型是相同的,他们会同步。打开详细日志记录并发现当在Mac上处理DCT文件时,它们被跳过,因为模型版本没有匹配。然后我在Mac中删除了该模型,并直接从iOS应用程序导入了该模型。再次尝试,这次它没有因为不匹配而跳过更新,但是因为系统认为更新已经应用了。更改本地数据SQL数据库的名称,并执行该操作。

现在就像一个冠军。

关于折旧的说明......我认为WWDC 2017太有趣了。无论什么驱动Note应用程序(它不再是电子邮件)都将发布给开发人员世界。不知道任何事实,但这是我的怀疑。我们会看到。