iCloud在watchOS 3上使用不同的容器

时间:2016-10-31 16:39:01

标签: ios iphone xcode cloudkit watch-os-3

我试图让iCloud在iPhone和Apple Watch之间工作(在watchOS 3上使用CloudKit)。我已将Watch Extension中的云容器指定为与iOS目标中的云容器相同,但在运行应用程序时,我从我所做的查询中收到此错误:

Failure retrieving: Optional(<CKError 0x17d45cf0: "Unknown Item" (11/2003); server message = "did not find record type recordTypeId="Recommendation""; uuid = 37D53C78-FF19-4CE3-80BD-C1990F0135A2; container ID = "iCloud.mathsrobot.MathsRobot-LearnMaths.watchkitapp.watchkitextension">)

从容器ID中,我可以看出它没有使用iOS应用容器,应该是iCloud.mathsrobot.MathsRobot-LearnMaths。如何让它使用iOS应用程序的iCloud容器?

iOS目标功能屏幕截图 Main iOS target capabilities with iCloud

观看目标功能截图 Watch Extension target capabilities with iCloud

1 个答案:

答案 0 :(得分:2)

您很可能在代码中使用默认容器...

container = CKContainer.default()

默认使用watchOS应用程序的容器ID,即使您在Xcode中设置它也是如此。你应该尝试这样做......

container = CKContainer(identifier: "iCloud.mathsrobot.MathsRobot-LearnMaths")