我正试图获得所有相关的联系人选择的联系方式。这样做的方法似乎是通过mycontact.contactRelations。这提供了一个CNLabeledValue数组,其中每个包含一个CNContactRelation作为它们的值。然后有一个name属性,但它似乎没有其他任何内容。
CNContact.ContractRelations的Xamarin文档似乎表明,我应该能够从CNContactRelation中获得相应的CNContact,但是除了搜索具有匹配名称的联系人之外,我无法在objc中找到这样的方法。这可能是也可能不是我想要的联系人,即使他们与与mycontact同名的联系人也有关系。
CNLabeledValue上的标识符似乎引用的是标签,而不是相关的联系人,或者至少如果我从CNContactPickerViewController中选择该联系人,则似乎与标识符不匹配。
是否有方法为objc中的相关联系人获取CNContact?
发布于 2016-01-14 00:00:15
联系人中的相关名称字段不存储链接,只存储名称。如果您在iOS或OS联系人应用程序中编辑相关名称,您会从用户的角度注意到这一点--它只是一个自由格式的文本字段。这些应用程序(和其他系统应用程序)会识别相关的名称何时与另一个联系人的名称相匹配(这就是为什么你可以要求Siri打电话给你的母亲等等),但它们也会让你记下你没有联系方式的人的名字。
因此,CNContactRelation只包含一个字符串,查找(如果有的话)与相关名称匹配的联系人的唯一方法是搜索联系人存储。使用unifiedContactsMatchingPredicate:keysToFetch:error:进行搜索,并通过调用predicateForContactsMatchingName:构造谓词。
https://stackoverflow.com/questions/34777160
复制相似问题