iOS - Как найти "доступный для поиска" ABSource с помощью ABSourceType | kABSourceTypeSearchableMask
Кому-нибудь удалось найти имена в GAL Exchange, связанном с устройством iOS, с использованием фреймворка ABAddressBook или иным способом?
Мне удалось получить все имена из контактов, хранящихся на устройстве - это немного просто - но он не включает имена из Exchange GAL.
Мне также удалось получить ABSource для GAL. Это тип: kABSourceTypeExchangeGAL = kABSourceTypeExchange | kABSourceTypeSearchableMask
Это говорит о том, что источник доступен для поиска, учитывая, что kABSourceTypeSearchableMask
бит установлен (kABSourceTypeSearchableMask = 0x01000000
), но как искать это чья-то догадка? Документация практически отсутствует.
Ниже перечислены похожие вопросы о стеке, но ни один из них не дает решения для этого.
- Использование iOS Addressbook api для поиска по обмену контактами
- ABAddressBook - Искать в Exchange AddressBook Source?
- ABAddressBook ABSource и ABSourceType
ABAddressBookCopyArrayOfAllPeopleInSource(addressBook, sourceToSearch)
всегда возвращает пустой массив для источников, которые включают бит типа kABSourceTypeSearchableMask
Это говорит о том, что вам нужно искать по имени, а не возвращать "все люди", потому что в глобальном списке адресов могут быть тысячи и тысячи людей, поэтому я не ожидаю, что он вернет их всех.
Приложение Контакты позволяет осуществлять поиск по имени и отображает только те из них, которые соответствуют. Как и приложение Почта при вводе текста в текстовое поле "Кому:".
1 ответ
Я вполне уверен, что это не разрешено - Microsoft.. На основании этого http://social.msdn.microsoft.com/Forums/en-US/85713cae-c969-4abd-836f-394c2ed815d9/finding-contacts-in-exchange-global-address-list-using-ews-managed-api?forum=exchangesvrdevelopment и быстрая трассировка Wireshark, похоже, что запросы GAL на самом деле являются запросами LDAP, выполняемыми непосредственно к DC...