CKContainer.discoverAllIdentities(completionHandler:), discoveryUserIdentity(recordID: - 完成处理程序返回 CKUserIdentity 但 .lookupInfo 始终为零,即使联系人包含电子邮件、电话等。其他属性如 hasiCloudAccount、userRecordID、nameComponents 都很好。这个问题刚刚开始发生最近发布的 Swift 3.1 有谁知道这是否是有意的行为,因为我在发行说明中找不到任何对 CloudKit 更改的引用,但这看起来像是隐私问题。
经过进一步调查,该问题可能是由于最近的 iOS 10.3 更新所致。在装有 10.2.1 的 iPhone 5 上运行该应用程序时,不会出现该问题,并且lookupInfo 正确包含 emailAddress
提交的 Apple 错误:31377433
新:此外,如果我尝试通过 CKDiscoverAllUserIdentitiesOperation 访问信息,特别是 userIdentityDiscoveredBlock -> user.nameComponents,则结果是与 12 岁以下用户关联的 Apple ID 的“空字符串”(并且可能在“家庭共享”上)计划)。我没有找到任何有关此问题的信息,苹果开发人员支持也没有提供任何帮助。