保存CloudKitlogging“未经身份validation”(9/1002)“”此请求需要经过身份validation的帐户“”

在模拟器中保存一个CKRecord给我以下错误:

[publicDatabase saveRecord:cloudRouteEntity completionHandler:^(CKRecord *record, NSError *error) { if (error) { NSLog(@"An error occured in %@: %@", NSStringFromSelector(_cmd), error); abort(); } else { dispatch_async(dispatch_get_main_queue(), ^(void) { //gui NSLog(@"Created Cloudkit Entity"); }); } }]; 

但是,它在电话上工作。 为什么模拟器无法访问CloudKit数据库?

编辑:我想我会聪明的通过添加iCloud帐户的模拟器 – 但iCloud呻吟,这是不允许在“这个设备”(模拟器)。 想法任何人?

我遇到了同样的问题,我可以通过在模拟器 (设置> iCloud)中login到我的iCloud帐户来解决这个问题。

截至最新的Xcode,你可以在模拟器login到你的iCloud帐户,一切都应该工作。

如果您login时遇到问题,请尝试在桌面上访问iCloud.com,然后先login。 一旦设置正确,然后尝试在模拟器。

我看到了同样的错误。 根据下面的讨论,原因可能是双因素authentication。

https://discussions.apple.com/thread/6588883

我有类似的问题,除非我login到我的iPad的视网膜iOS8.1.1的设置应用程序/ iCloud部分

我遇到了同样的问题。

我在用户logging中添加了一个id查询索引,当我删除这个索引问题停止。

我什至不知道这些东西之间的关系是什么,但它对我有用。

对不起,英文不好

完全重置模拟器(确保没有任何东西),重新安装。 也许你有一个错误的版本? 如果可能,请尝试在其他PC或笔记本电脑上工作。

我testing了它,我能够连接到iCloud,所以我很确定它的一些关于你的设置/错误的安装等

因为人们可能会误解批准的答案(就像我做的那样),这里有更详细的介绍(可以使用键盘快捷键,但为了清晰起见,我指定了菜单选项):

  1. 运行模拟器(Xcode) – 通过select产品>运行,从模拟器的Xcode运行一个应用程序
  2. 应用程序主屏幕(模拟器) – 在模拟器中,通过select硬件>主屏幕导航到主屏幕
  3. 设置应用程序 (模拟器) – find设置应用程序(齿轮),运行并selectiCloud
  4. 身份validation(模拟器) – input您的凭据并login(或重新login,如果您的凭据已更改)到iCloud。 一旦你这样做,你可以重新运行你的应用程序,它应该正确地authentication到iCloud

一旦你这样做,你很乐意去为未来的构build和运行。