1

我正在尝试获取所选联系人的所有相关联系人。这样做的方法似乎是 via mycontact.contactRelations。这给出了一个数组,CNLabeledValue其中每个包含 aCNContactRelation作为它们的值。然后有一个name属性,但它似乎没有别的。

Xamarin 文档CNContact.ContractRelations似乎表明我应该能够CNContact从 a获取相应的信息,CNContactRelation但我看不到在 objc 中执行此操作的方法,除了搜索具有匹配名称的联系人。这可能是也可能不是我所关注的联系人,即使他们也与同名的联系人有关系mycontact

上的标识符CNLabeledValue似乎是指标签而不是相关联系人,或者如果我从CNContactPickerViewController.

有没有办法CNContact在 objc 中获取相关联系人?

4

1 回答 1

1

联系人中的相关名称字段不存储链接,仅存储名称。如果您在 iOS 或 OS X 联系人应用程序中编辑相关名称,您会从用户的角度注意到这一点——它只是一个自由格式的文本字段。这些应用程序(和其他系统应用程序)将识别相关名称何时与另一个联系人的名称匹配(这就是为什么您可以让 Siri 给您的母亲打电话等),但它们也可以让您为您没有的人输入姓名联系方式。

所以 aCNContactRelation只包含一个字符串,查找(如果有的话)与相关名称匹配的联系人的唯一方法是搜索联系人存储。用于unifiedContactsMatchingPredicate:keysToFetch:error:搜索,带有通过调用构造的谓词predicateForContactsMatchingName:

于 2016-01-14T00:00:15.063 回答