2014-11-11 3 views
2

Когда я вызываю discoverAllContactUserInfosWithCompletionHandler:, возвращаемый массив CKDiscoveredUserInfo имеет три отличных userRecordIDs, но все они предназначены для человека с тем же именем firstName + lastName. Три userRecordIDs делятся одинаковыми recordName, но отличаются zoneID. Насколько я могу понять, это тот же человек с тремя «iCloud» адресами электронной почты: icloud.com, me.com, mac.com. Представление всех трех в пользовательском интерфейсе приложения - это не стартер, учитывая, что они неразличимы.findAllContactUserInfosWithCompletionHandler возвращает несколько записей для одного пользователя?

Есть ли причина выбрать один из нескольких записей над другим? Является ли моя презумпция, что они действительно разные адреса iCloud? Можно ли перейти от userRecordID к электронной почте?

[Я знаю учетные записи электронной почты; предположительно я мог бы запросить discoverUserInfoWithEmailAddress:completionHandler и сам коррелировать результаты.

ответ

0

recordName - единственная деталь, которая действительно имеет значение здесь, но странно, что у userRecordIDs есть разные zoneIDs. Все они должны находиться в общедоступной зоне по умолчанию, поэтому вы можете столкнуться с ошибкой. Какие идентификаторы зоны вы видите?

Если вам нужно выбрать один идентификатор записи, перейдите по ссылке: -[CKRecordZone defaultRecordZone]