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