Search code examples
iphoneobjective-ccocoa-touchios4iphone-sdk-3.0

How to create contacts in address book in iPhone SDK?


How to create contacts in address book in iPhone SDK?


Solution

  • ABAddressBookRef addressBook = ABAddressBookCreate(); // create address book record
    ABRecordRef person = ABPersonCreate(); // create a person
    
    NSString *phone = @"0123456789"; // the phone number to add
    
    //Phone number is a list of phone number, so create a multivalue    
    ABMutableMultiValueRef phoneNumberMultiValue  = ABMultiValueCreateMutable(kABMultiStringPropertyType);
    ABMultiValueAddValueAndLabel(phoneNumberMultiValue, phone, kABPersonPhoneMobileLabel, NULL);
    
    ABRecordSetValue(person, kABPersonFirstNameProperty, @"FirstName" , nil); // first name of the new person
    ABRecordSetValue(person, kABPersonLastNameProperty, @"LastName", nil); // his last name
    ABRecordSetValue(person, kABPersonPhoneProperty, phoneNumberMultiValue, &anError); // set the phone number property
    ABAddressBookAddRecord(addressBook, person, nil); //add the new person to the record
    
    ABRecordRef group = ABGroupCreate(); //create a group
    ABRecordSetValue(group, kABGroupNameProperty,@"My Group", &error); // set group's name
    ABGroupAddMember(group, person, &error); // add the person to the group
    ABAddressBookAddRecord(addressBook, group, &error); // add the group
    
    
    ABAddressBookSave(addressBook, nil); //save the record
    
    
    
    CFRelease(person); // relase the ABRecordRef  variable