ABRecordRef newPerson = ABPersonCreate();
CFErrorRef error = NULL;
ABRecordSetValue(newPerson, kABPersonFirstNameProperty, @"firsrName", &error);
ABRecordSetValue(newPerson, kABPersonLastNameProperty, @"lastName", &error);
ABRecordSetValue(newPerson, kABPersonOrganizationProperty, @"company", &error);
ABRecordSetValue(newPerson, kABPersonFirstNamePhoneticProperty, @“firstname”, &error);
ABRecordSetValue(newPerson, kABPersonLastNamePhoneticProperty, @"lastNamePY", &error);
//phone number
ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(multiPhone, houseNumber.text, kABPersonPhoneHomeFAXLabel, NULL);
ABMultiValueAddValueAndLabel(multiPhone, mobileNumber.text, kABPersonPhoneMobileLabel, NULL);
ABRecordSetValue(newPerson, kABPersonPhoneProperty, multiPhone, &error);
CFRelease(multiPhone);
ABMutableMultiValueRef multiEmail = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(multiEmail, email.text, kABWorkLabel, NULL);
ABRecordSetValue(newPerson, kABPersonEmailProperty, multiEmail, &error);
CFRelease(multiEmail);
//picture
NSData *dataRef = UIImagePNGRepresentation(head.image);
ABPersonSetImageData(newPerson, (CFDataRef)dataRef, &error);
ABAddressBookAddRecord(iPhoneAddressBook, newPerson, &error);
ABAddressBookSave(iPhoneAddressBook, &error);
CFRelease(newPerson);
CFRelease(iPhoneAddressBook);