Apple Watch和Core Data iCloud Syncing

时间:2015-04-13 05:48:14

标签: ios swift apple-watch

我已经在这个问题上挣扎了一段时间,似乎无法找到关于这个主题的任何内容。关于如何在Apple Watch中使用Core Data有很多例子,但没有一个支持iCloud,所以我希望有人可以对这个问题有所了解。

我有一个应用程序在创建持久存储时使用Core Data和NSPersistentStoreUbiquitousContentNameKey选项,以使其同步到iCloud和设备之间。这在iPhone和iPad之间很有用。但是,Apple Watch同步充其量只是参差不齐。有时它可以工作,有时不工作,当它进行初始同步时,它似乎不会在此之后同步。

我认为它的原因是,即使Watch应用程序是iPhone应用程序的扩展,因为它使用NSPersistentStoreUbiquitousContentNameKey,它在另一个文件夹下创建了一个数据库,而不是使用与iPhone相同的数据库。

iPhone数据库的路径

iPhone:
PFUbiquitySetupContainerIdentifierKey: 8B652C84-62E1-4FFF-B822-13C90C19DC5F
file:///Users/Aaron/Library/Developer/CoreSimulator/Devices/
6E2EE13A-3148-4693-A92F-7B23C709CF78/data/Containers/Shared/AppGroup/
B7DEE2C6-D345-460C-884D-74C011BF98BA/CoreDataUbiquitySupport/
nobody~simA7716E1E-6B21-5DAA-AF81-CAF6AE77A985/iCloudDATA/
8B652C84-62E1-4FFF-B822-13C90C19DC5F/store/appname)

Apple Watch数据库的路径

Watch:
PFUbiquitySetupContainerIdentifierKey: 44220421-4F7C-46AC-B3D7-6ABEDA62C77B
file:///Users/Aaron/Library/Developer/CoreSimulator/Devices/
6E2EE13A-3148-4693-A92F-7B23C709CF78/data/Containers/Shared/AppGroup/
B7DEE2C6-D345-460C-884D-74C011BF98BA/CoreDataUbiquitySupport/
nobody~simA7716E1E-6B21-5DAA-AF81-CAF6AE77A985/iCloudDATA/
44220421-4F7C-46AC-B3D7-6ABEDA62C77B/store/appname)

请注意,磁贴路径完全相同,但路径中的PFUbiquitySetupContainerIdentifierKey除外,每个设备都有自己的。

如果删除商店选项PFUbiquitySetupContainerIdentifierKey,它可以正常工作,但设备不会互相同步。

我想知道是否有其他人有这个问题或任何可能的解决方案,或者我只是做错了吗?

提前致谢!

编辑:在联系Apple dev支持后,似乎这是Core Data& amp;当iCloud的代码在扩展名中时,它会同步。我不得不将所有数据处理都移回主包,以便它再次工作。

链接到已知问题主题:https://devforums.apple.com/message/1051015#1051015

0 个答案:

没有答案