Проблема в том, что я всегда получаю сбои во время выполнения при любом методе, вызываемом в переменной phones
.
В этой версии я получаю сообщение об ошибке 1
(ABMultiValueCopyValueAtIndex
).
Если я прокомментирую эту строку, код падает на 2
(ABMultiValueGetCount
).
Похоже, собственность была пуста. Если я NSLog
переменная phones
. Я получаю (null)
.
Я тестирую код на iPhone Simulator, у меня есть несколько фиктивных контактов с некоторыми номерами телефонов.
Также firstName
и lastName
работают как шарм.
for(id person in people){
NSString *firstName = (NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
NSString *lastName = (NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty);
ABMultiValueRef phones = ABRecordCopyValue(person, kABPersonPhoneProperty);
NSString *phone = (NSString*)ABMultiValueCopyValueAtIndex(phones, 0); /*1*/
/*2/ id ph, phLb;
for (CFIndex i = 0; i < ABMultiValueGetCount(phones); i++) {
phLb = ABMultiValueCopyLabelAtIndex(phones, i);
ph = ABMultiValueCopyValueAtIndex(phones, i);
NSLog(@"%@,%@", phLb, ph);
CFRelease(phLb);
CFRelease(ph);
}
*/
NSLog(@"%@", firstName);
NSLog(@"%@", lastName);
NSLog(@"%@", phones);
NSLog(@"%@", phone);
[firstName release];
[lastName release];
[phone release];
[phones release];
}