`
jsntghf
  • 浏览: 2481516 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

通过代码创建联系人

    博客分类:
  • iOS
阅读更多

首先,需要导入AddressBook.framework框架,然后在头文件中加入:#import <AddressBook/AddressBook.h>

 

CFErrorRef error = NULL; 		
ABAddressBookRef addressBook = ABAddressBookCreate();		
ABRecordRef newPerson= ABPersonCreate(); 

ABRecordSetValue(newPerson, kABPersonFirstNameProperty, @"Eric", &error); 		
ABRecordSetValue(newPerson, kABPersonLastNameProperty, @"Gao", &error); 			
ABRecordSetValue(newPerson, kABPersonJobTitleProperty, @"市场部经理", &error);
ABRecordSetValue(newPerson, kABPersonOrganizationProperty, @"移动技术研发", &error);

ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType);			
ABMultiValueAddValueAndLabel(multiPhone, @"12345678", kABPersonPhoneMainLabel, NULL);           			
ABRecordSetValue(newPerson, kABPersonPhoneProperty, multiPhone, &error);			
CFRelease(multiPhone);

ABMutableMultiValueRef multiEmail = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(multiEmail, @"别墅", kABHomeLabel, NULL);
ABRecordSetValue(newPerson, kABPersonEmailProperty, multiEmail, &error);
CFRelease(multiEmail);

ABMutableMultiValueRef urlMultiValue = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(urlMultiValue,@"www.google.cn", kABPersonHomePageLabel, NULL);
ABRecordSetValue(newPerson, kABPersonURLProperty, urlMultiValue, &error);
CFRelease(urlMultiValue);

ABMutableMultiValueRef multiAddress = ABMultiValueCreateMutable(kABMultiDictionaryPropertyType);
NSMutableDictionary *addressDictionary = [[NSMutableDictionary alloc] init];
[addressDictionary setObject:@"北京市海淀区中关村" forKey:(NSString *) kABPersonAddressStreetKey];
ABMultiValueAddValueAndLabel(multiAddress, addressDictionary, kABWorkLabel, NULL);
ABRecordSetValue(newPerson, kABPersonAddressProperty, multiAddress, &error);
CFRelease(multiAddress);

UIImage *image = [UIImage imageNamed:@"head.png"];

if (image) {
	NSData *dataRef = UIImagePNGRepresentation(image); 
	CFDataRef dr = CFDataCreate(NULL, [dataRef bytes], [dataRef length]);
	ABPersonSetImageData(newPerson, dr, &error);
	CFRelease(dr);   			
}	

ABAddressBookAddRecord(addressBook, newPerson, &error); 
CFRelease(newPerson);

ABAddressBookSave(addressBook, &error);

 

效果图:


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics