为什么ubiquityIdentityToken始终为零?
问题描述:
我正在开发一个使用CloudKit的iOS应用程序。 Apple的文档说我应该使用NSFileManager的ubiquityIdentityToken属性来检测服务是否可用。但房产总是零。我该如何解决它?我正在使用iOS 8.2在iPhone 5模拟器上测试我的应用程序。我也登录了一个iCloud帐户。我也打开了iCloud Drive。 (有人说,打开iCloud的驱动器可以解决这个问题,但这并不为我工作。)为什么ubiquityIdentityToken始终为零?
我需要调用的NSFileManager的方法URLForUbiquityContainerIdentifier:?但是苹果的文档说它是文档存储所必需的。它并没有说它是CloudKit所需要的。
答
的CKContainer accountStatusWithCompletionHandler
方法是你应该如何检查用户是否登录到iCloud中或没有(因为iOS版8.0支持)。如何使用它的CloudKit Quick Start shows an example。 fetchUserRecordIDWithCompletionHandler
是另一种可能对您的应用程序有意义的选项。
在iOS中9.0,你也有CKAccountChangeNotification
,它会通知你的应用程序时的设备变化的iCloud状态。