【发布时间】:2017-01-24 16:05:21
【问题描述】:
我已经在我的一个 iOS 应用程序中集成了 cloudkit 框架,并且在 iOS 8 和 9 中运行良好,但在 iOS 10 中运行良好。如果没有活动的 iCloud 帐户,它无法从公共数据库中获取记录。如果用户也限制了应用程序的 iCloud 驱动器,则能够在 iOS 8 和 9 中获取记录,但它在 iOS 10 中失败,出现类似
的错误CKError 0x170249090:“未通过身份验证”(9/1002); “没有后盾 帐户,因此不返回身份验证令牌。”
它不适用于 iOS 设备中的开发和生产 cloudkit 环境。 我已经使用指向生产的 AdHoc 构建测试了该应用程序。
下面是我的代码
CKQuery *query = [[CKQuery alloc] initWithRecordType:@"RecordSettings" predicate:[NSPredicate predicateWithFormat:@"TRUEPREDICATE"]];
CKQueryOperation *queryOperation = [[CKQueryOperation alloc] initWithQuery:query];
queryOperation.queuePriority = NSOperationQueuePriorityVeryHigh;
queryOperation.recordFetchedBlock = ^(CKRecord *record) {
if(record != nil) {
}
};
queryOperation.queryCompletionBlock = ^(CKQueryCursor * __nullable cursor, NSError * __nullable operationError) {
NSLog(@"iCloud error: %@", operationError.description);
};
[[[CKContainer defaultContainer] publicCloudDatabase] addOperation:queryOperation];
【问题讨论】:
-
这个运气好吗?
-
仍然无法弄清楚。你也面临同样的问题吗?
标签: ios objective-c cloudkit