-(void)touchSaveLocal
{
//ABAddressBookRef addressBook = ABAddressBookCreate();
//初始化一个record
ABRecordRef person = ABPersonCreate();
ABAddressBookRef addressBook = nil;
if ([[UIDevice currentDevice].systemVersion floatValue] >= 6.0)
{
addressBook = ABAddressBookCreateWithOptions(NULL, NULL);
//等待同意后向下执行
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error)
{
dispatch_semaphore_signal(sema);
});
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
}
else
{
addressBook = ABAddressBookCreate();
}
//这是一个空的记录,或者说是没有任何信息的联系人
//下面给这个人 添加一个名字
NSString *firstName = self.detailNode.userName;
ABRecordSetValue(person, kABPersonFirstNameProperty, (CFStringRef)CFBridgingRetain(firstName), NULL);
//phone
ABMultiValueRef phone = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(phone, CFBridgingRetain(self.detailNode.phone), kABPersonPhoneMainLabel, NULL);//添加移动号码0
ABRecordSetValue(person, kABPersonPhoneProperty, phone, NULL);
//compay
NSString *gongsi = self.detailNode.company;
ABRecordSetValue(person, kABPersonOrganizationProperty, (CFStringRef)CFBridgingRetain(gongsi), NULL);
//将新的记录,添加到通讯录中
ABAddressBookAddRecord(addressBook, person, NULL);
//通讯录执行保存
ABAddressBookSave(addressBook, NULL);
//不说了,你懂的~
if(addressBook)
CFRelease(addressBook);
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:nil message:@"添加成功" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
[alert show];}
转载于:https://www.cnblogs.com/zzzili/p/6662535.html