0
Все телефонные номера, хранящиеся в адресной книге, имеют ярлык: «домашний», «рабочий», «домашний факс» и т. Д. Мне нужно изменить ярлык конкретный контакт, помещающий пользовательский ярлык с именем «ATM».Попытка обновить номер телефона с номером телефона в адресной книге
Я получил сообщение об ошибке:
"Assertion failed: (((ABCMultiValue *)multiValue)->flags.isMutable), function ABMultiValueReplaceLabelAtIndex, file /SourceCache/AddressBook_Sim/AddressBook-796.6/ABMultiValue.c, line 118."
Это мой код, есть комментарий, где я получил excepton:
- (void)displayPerson:(ABRecordRef)person {
NSString* name = (__bridge_transfer NSString*)ABRecordCopyValue(person, kABPersonFirstNameProperty);
self.firstName.text = name;
NSString* phone = nil;
NSString* lbl = nil;
NSString* newLbl = @"ATM";
ABMultiValueRef phoneNumbers = ABRecordCopyValue(person,
kABPersonPhoneProperty);
if (ABMultiValueGetCount(phoneNumbers) > 0) {
phone = (__bridge_transfer NSString*)
ABMultiValueCopyValueAtIndex(phoneNumbers, 0);
lbl = (__bridge_transfer NSString*)
ABMultiValueCopyLabelAtIndex(phoneNumbers, 0);
//*** HERE IS THE PROBLEM ***
ABMultiValueReplaceLabelAtIndex(phoneNumbers, CFSTR("ATM"), 0);
NSLog(@" - %@ (%@)", phone, lbl);
} else {
phone = @"[None]";
lbl = @"[None]";
newLbl = @"[None]";
}
CFRelease(phoneNumbers);
}
Как я могу изменить название этого номер телефона?
Люди, просто дополнить мой метод "displayPerson" вышел из этого примера : http://developer.apple.com/library/ios/#documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Chapters/QuickStart.html –