Как добавить новый контакт в адресную книгу iOS? Я хочу сохранить контакты напрямую в адресную книгу устройства iOS программно. Как я могу это сделать? Ответ 1 Вот небольшой пример: CFErrorRef error = NULL; NSLog(@"%@", [self description]); ABAddressBookRef iPhoneAddressBook = ABAddressBookCreate(); ABRecordRef newPerson = ABPersonCreate(); ABRecordSetValue(newPerson, kABPersonFirstNameProperty, people.firstname, &error); ABRecordSetValue(newPerson, kABPersonLastNameProperty, people.lastname, &error); ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType); ABMultiValueAddValueAndLabel(multiPhone, people.phone, kABPersonPhoneMainLabel, NULL); ABMultiValueAddValueAndLabel(multiPhone, people.other, kABOtherLabel, NULL); ABRecordSetValue(newPerson, kABPersonPhoneProperty, multiPhone,nil); CFRelease(multiPhone); // ... // Set other properties // ... ABAddressBookAddRecord(iPhoneAddressBook, newPerson, &error); ABAddressBookSave(iPhoneAddressBook, &error); CFRelease(newPerson); CFRelease(iPhoneAddressBook); if (error != NULL) { CFStringRef errorDesc = CFErrorCopyDescription(error); NSLog(@"Contact not saved: %@", errorDesc); CFRelease(errorDesc); }
Ответ 1 Вот небольшой пример: CFErrorRef error = NULL; NSLog(@"%@", [self description]); ABAddressBookRef iPhoneAddressBook = ABAddressBookCreate(); ABRecordRef newPerson = ABPersonCreate(); ABRecordSetValue(newPerson, kABPersonFirstNameProperty, people.firstname, &error); ABRecordSetValue(newPerson, kABPersonLastNameProperty, people.lastname, &error); ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType); ABMultiValueAddValueAndLabel(multiPhone, people.phone, kABPersonPhoneMainLabel, NULL); ABMultiValueAddValueAndLabel(multiPhone, people.other, kABOtherLabel, NULL); ABRecordSetValue(newPerson, kABPersonPhoneProperty, multiPhone,nil); CFRelease(multiPhone); // ... // Set other properties // ... ABAddressBookAddRecord(iPhoneAddressBook, newPerson, &error); ABAddressBookSave(iPhoneAddressBook, &error); CFRelease(newPerson); CFRelease(iPhoneAddressBook); if (error != NULL) { CFStringRef errorDesc = CFErrorCopyDescription(error); NSLog(@"Contact not saved: %@", errorDesc); CFRelease(errorDesc); }