IOS添加通讯录

举报
清雨小竹 发表于 2022/09/24 23:48:39 2022/09/24
【摘要】 -(void)touchSaveLocal{ //ABAddressBookRef addressBook = ABAddressBookCreate(); //初始化一个record ABRecordRef person = ABPersonCreate(); ABAddressBookRef addr...

  
  1. -(void)touchSaveLocal
  2. {
  3. //ABAddressBookRef addressBook = ABAddressBookCreate();
  4. //初始化一个record
  5. ABRecordRef person = ABPersonCreate();
  6. ABAddressBookRef addressBook = nil;
  7. if ([[UIDevice currentDevice].systemVersion floatValue] >= 6.0)
  8. {
  9. addressBook = ABAddressBookCreateWithOptions(NULL, NULL);
  10. //等待同意后向下执行
  11. dispatch_semaphore_t sema = dispatch_semaphore_create(0);
  12. ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error)
  13. {
  14. dispatch_semaphore_signal(sema);
  15. });
  16. dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
  17. }
  18. else
  19. {
  20. addressBook = ABAddressBookCreate();
  21. }
  22. //这是一个空的记录,或者说是没有任何信息的联系人
  23. //下面给这个人 添加一个名字
  24. NSString *firstName = self.detailNode.userName;
  25. ABRecordSetValue(person, kABPersonFirstNameProperty, (CFStringRef)CFBridgingRetain(firstName), NULL);
  26. //phone
  27. ABMultiValueRef phone = ABMultiValueCreateMutable(kABMultiStringPropertyType);
  28. ABMultiValueAddValueAndLabel(phone, CFBridgingRetain(self.detailNode.phone), kABPersonPhoneMainLabel, NULL);//添加移动号码0
  29. ABRecordSetValue(person, kABPersonPhoneProperty, phone, NULL);
  30. //compay
  31. NSString *gongsi = self.detailNode.company;
  32. ABRecordSetValue(person, kABPersonOrganizationProperty, (CFStringRef)CFBridgingRetain(gongsi), NULL);
  33. //将新的记录,添加到通讯录中
  34. ABAddressBookAddRecord(addressBook, person, NULL);
  35. //通讯录执行保存
  36. ABAddressBookSave(addressBook, NULL);
  37. //不说了,你懂的~
  38. if(addressBook)
  39. CFRelease(addressBook);
  40. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:nil message:@"添加成功" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
  41. [alert show];}

文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。

原文链接:zzzili.blog.csdn.net/article/details/23373249

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。