有没有人使用 ABAddressBook 框架或其他方式成功地在链接到 iOS 设备的 Exchange GAL 中搜索名称?
我已经设法从存储在设备上的联系人中获取所有姓名——这很容易——但它不包括来自 Exchange GAL 的姓名。
我还设法获得了 GAL 的 ABSource。它的类型是:kABSourceTypeExchangeGAL = kABSourceTypeExchange | kABSourceTypeSearchableMask
这表明源是可搜索的,假设该kABSourceTypeSearchableMask
位已设置 ( kABSourceTypeSearchableMask = 0x01000000
),但如何搜索它是任何人的猜测?文档几乎不存在。
下面列出了类似的 stackoverflow 问题,但没有一个提供解决方案。
- 使用 iOS Addressbook api 搜索交换联系人
- ABAddressBook -- 搜索 Exchange 通讯录源?
- ABAddressBook ABSource 和 ABSourceType
ABAddressBookCopyArrayOfAllPeopleInSource(addressBook, sourceToSearch)
总是为包含类型 bit 的源返回一个空数组kABSourceTypeSearchableMask
,这表明您必须按名称搜索,而不是返回“所有人”,因为全球地址列表中可能有成千上万的人,所以我不会期望它全部归还。
通讯录应用程序允许您按姓名搜索并仅显示匹配的姓名。在“收件人:”文本字段中输入文本时,邮件应用程序也是如此。