discoverAllContactUserInfosWithCompletionHandler为同一个用户返回多条记录?

时间:2022-02-13 16:47:07

When I invoke discoverAllContactUserInfosWithCompletionHandler: the returned array of CKDiscoveredUserInfo has three distinct userRecordIDs but these are all for a person with the same firstName + lastName. The three userRecordIDs share the same recordName but differ by zoneID. As best I can figure this is the same person with three 'iCloud' email addresses: icloud.com, me.com, mac.com. Presenting all three in my App's UI is a non-starter given that they are indistinguishable.

当我调用discoverAllContactUserInfosWithCompletionHandler时:返回的CKDiscoveredUserInfo数组有三个不同的userRecordID,但这些都是针对具有相同firstName + lastName的人。三个userRecordID共享相同的recordName,但由zoneID不同。我最好能算出这是三个'iCloud'电子邮件地址的人:icloud.com,me.com,mac.com。在我的应用程序UI中呈现所有这三个是非首发,因为它们是无法区分的。

Is there any reason to choose one of the multiple records over another? Is my presumption that they are indeed different iCloud mail addresses correct? Can I go from userRecordID to email?

有没有理由选择多个记录中的一个而不是另一个?我的推测是,他们确实是不同的iCloud邮件地址正确吗?我可以从userRecordID转到电子邮件吗?

[I know the email accounts; presumably I could query with discoverUserInfoWithEmailAddress:completionHandler and correlate the results myself.

[我知道电子邮件帐户;大概我可以用discoverUserInfoWithEmailAddress:completionHandler查询并自己关联结果。

1 个解决方案

#1


0  

The recordName is the only part that really matters here, but it's odd that the userRecordIDs have different zoneIDs. They should all be in the default public zone, so you might be hitting a bug. What zone IDs are you seeing?

recordName是唯一真正重要的部分,但是userRecordID具有不同的zoneID是奇怪的。它们都应该在默认的公共区域中,因此您可能会遇到错误。您看到了哪些区域ID?

If you have to pick one record ID, go with the one in -[CKRecordZone defaultRecordZone]

如果您必须选择一个记录ID,请使用 - [CKRecordZone defaultRecordZone]中的一个

#1


0  

The recordName is the only part that really matters here, but it's odd that the userRecordIDs have different zoneIDs. They should all be in the default public zone, so you might be hitting a bug. What zone IDs are you seeing?

recordName是唯一真正重要的部分,但是userRecordID具有不同的zoneID是奇怪的。它们都应该在默认的公共区域中,因此您可能会遇到错误。您看到了哪些区域ID?

If you have to pick one record ID, go with the one in -[CKRecordZone defaultRecordZone]

如果您必须选择一个记录ID,请使用 - [CKRecordZone defaultRecordZone]中的一个