У меня есть контакт со связанными контактами. Поэтому, когда я показываю этот контакт с ABPersonViewController, у него есть оригинальные электронные письма и электронные письма из связанных контактов. Не удается получить правильные данные от ABPersonViewController, если есть связанные контакты
Когда я выбираю связанные электронную почту ([email protected]), а затем передавать вызовы методов:
- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
{
//get selected phone number
ABMultiValueRef multi = ABRecordCopyValue(person, property);
CFIndex index = ABMultiValueGetIndexForIdentifier(multi, identifier);
NSString *selectedContactData = (__bridge_transfer NSString *)ABMultiValueCopyValueAtIndex(multi, index);
return NO;
}
Но в selectedContactData я получаю не выбран по электронной почте, но первый из них. У меня есть эта проблема только с комбинированными контактами.
Есть ли способ выбрать адрес электронной почты для контакта с подключенными контактами?
Несвязанный, но не забудьте 'CFRelease (multi)'. – Rob