当我退出Icloud帐户并使用其他帐户登录并返回我的应用时,我遇到了fetchUserRecordIdWithCompletionHandler的问题。然后我再次获取用户记录ID以更新数据,然后从注销的用户获取以前的ID,而不是新用户的ID。我假设cloudkit正在缓存用户ID,并且当用户注销并使用另一个id登录时它不会更新它。
然而,当应用程序终止并再次打开时,它确实识别出新的ID。
任何人都知道如何解决这个问题,或者这是一个错误。
提前致谢
答案 0 :(得分:1)
我刚测试了这个并且至少在iOS 9.2中修复了,但可能更早。我发现时会更新这篇文章。
- (void)applicationDidBecomeActive:(UIApplication *)application {
[[CKContainer defaultContainer] fetchUserRecordIDWithCompletionHandler:^(CKRecordID * _Nullable recordID, NSError * _Nullable error) {
if(error){
NSLog(@"error fetching user record");
return;
}
NSLog(@"user %@", recordID);
}];
}
答案 1 :(得分:0)
我遇到了同样的问题,将XCode更新为7.1后解决了这个问题!