iOS通讯录读写
来源:互联网 发布:不安理智网络歌手 编辑:程序博客网 时间:2024/06/05 04:56
首先引入addressBook.framework addressBookUI.framework框架
首先申请读写权限
// Request authorization to Address Book ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL); if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined) { ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted, CFErrorRef error) { // First time access has been granted, add the contact }); } else if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized) { // The user has previously given access, add the contact } else { // The user has previously denied access // Send an alert telling user to change privacy setting in settings app }
ABAddressBookRef iPhoneAddressBook = ABAddressBookCreate(); ABRecordRef newPerson = ABPersonCreate(); CFErrorRef error = NULL; ABRecordSetValue(newPerson, kABPersonFirstNameProperty, (__bridge CFTypeRef)(p.name), &error); //phone number ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType); ABMultiValueAddValueAndLabel(multiPhone, (__bridge CFTypeRef)(p.number), kABPersonPhoneMainLabel, NULL); // ABMultiValueAddValueAndLabel(multiPhone, @"1-123-456-7890", kABPersonPhoneMobileLabel, NULL); // ABMultiValueAddValueAndLabel(multiPhone, @"1-987-654-3210", kABOtherLabel, NULL); ABRecordSetValue(newPerson, kABPersonPhoneProperty, multiPhone,&error); CFRelease(multiPhone); ABAddressBookAddRecord(iPhoneAddressBook, newPerson, &error); ABAddressBookSave(iPhoneAddressBook, &error); if (error != NULL) { NSLog(@"Danger Will Robinson! Danger!%@", error); }
删除通讯录
//打开电话本数据库 ABAddressBookRef addressRef=ABAddressBookCreate(); //返回所有联系人到一个数组中 CFArrayRef personArray = ABAddressBookCopyArrayOfAllPeople(addressRef); //返回联系人数量 CFIndex personCount = ABAddressBookGetPersonCount(addressRef); //循环读取每个联系人 for (int i =0;i<personCount;i++){ //得到当前联系人 ABRecordRef personRef=CFArrayGetValueAtIndex(personArray, i); NSString *firstName = (__bridge NSString *)ABRecordCopyValue(personRef, kABPersonFirstNameProperty); ABMultiValueRef phones = (ABMultiValueRef) ABRecordCopyValue(personRef, kABPersonPhoneProperty); NSString *phone; for(int i = 0 ;i < ABMultiValueGetCount(phones); i++) { phone = (__bridge NSString *)ABMultiValueCopyValueAtIndex(phones, i); } NSLog(@"%@-%@", firstName, phone); for (Person *p in self.array) { if ([p.name isEqual:firstName] && [p.number isEqual:phone]) { //删除联系人 ABAddressBookRemoveRecord(addressRef, personRef, nil); } } CFRelease(personRef); }
0 0
- iOS通讯录读写
- iOS通讯录
- iOS通讯录
- 通讯录 ios
- iOS通讯录
- iOS通讯录
- 读写手机通讯录
- IOS通讯录操作总结
- ios 通讯录 中文
- ios 监听通讯录更新
- ios 添加通讯录资料
- ios读取通讯录信息
- ios 操作通讯录联系人
- iOS 通讯录问题
- IOS之通讯录ABAddressBook
- iOS调用本地通讯录
- ios读取通讯录信息
- ios读取通讯录信息
- JavaEE程序员必读图书
- 浅谈CAN总线
- Android中的进程和线程
- OSS阿里云文件上传 demo
- PHP文件上传进度处理方法
- iOS通讯录读写
- XMLHTTP使用详解
- mongodb json
- allowbackup的作用
- iOSCoreAnimation动画系列教程(一):CABasicAnimation【包会】
- Solr --- Facet查询
- window+ubuntu下服务器状态监控
- 类加载机制和反射
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 错误处理办法