为什么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 examplefetchUserRecordIDWithCompletionHandler是另一种可能对您的应用程序有意义的选项。

在iOS中9.0,你也有CKAccountChangeNotification,它会通知你的应用程序时的设备变化的iCloud状态。