Кому-нибудь когда-нибудь удавалось искать имена в глобальном списке адресов Exchange, связанном с устройством iOS, с использованием платформы ABAddressBook или иным образом?
Мне удалось получить все имена из контактов, хранящихся на устройстве — это несложно, — но это не включает имена из глобального списка адресов Exchange.
Мне также удалось получить ABSource для GAL. Тип: kABSourceTypeExchangeGAL = kABSourceTypeExchange | kABSourceTypeSearchableMask
Это говорит о том, что источник доступен для поиска, учитывая, что бит kABSourceTypeSearchableMask
установлен (kABSourceTypeSearchableMask = 0x01000000
), но как его искать, можно только догадываться? Документация практически отсутствует.
Ниже перечислены похожие вопросы stackoverflow, но ни один из них не дает решения для этого.
- Использование API адресной книги iOS для поиска контактов биржи
- ABAddressBook — поиск источника адресной книги Exchange?
- ABAddressBook ABSource и ABSourceType
ABAddressBookCopyArrayOfAllPeopleInSource(addressBook, sourceToSearch)
всегда возвращает пустой массив для источников, которые включают бит типа kABSourceTypeSearchableMask
, что предполагает, что вам нужно искать по имени, а не возвращать «всех людей», потому что в глобальном списке адресов могут быть тысячи и тысячи людей, поэтому я бы не ожидайте, что он вернет их всех.
Приложение «Контакты» позволяет искать по имени и показывает только те, которые совпадают. Как и приложение Mail при вводе текста в текстовое поле «Кому:».