zoukankan      html  css  js  c++  java
  • IOS 获取系统通讯录中的联系人信息

    - (IBAction)getAllContactFromSystem {
    ABAddressBookRef ab = ABAddressBookCreateWithOptions(NULL, NULL);
    ABAddressBookRequestAccessWithCompletion(ab, ^(bool granted, CFErrorRef error) {

    //取得通讯录访问授权
    ABAuthorizationStatus authorization= ABAddressBookGetAuthorizationStatus();
    if (authorization!=kABAuthorizationStatusAuthorized) {
    NSLog(@"尚未获得通讯录访问授权!");
    return ;
    }

    //取得通讯录中所有人员记录
    CFArrayRef allPeople= ABAddressBookCopyArrayOfAllPeople(ab);
    for (int i=0; i<CFArrayGetCount(allPeople); ++i) {
    ABRecordRef recordRef = CFArrayGetValueAtIndex(allPeople, i);
    //获取用户名
    NSString *firstName = (__bridge NSString *) ABRecordCopyValue(recordRef, kABPersonFirstNameProperty);
    NSString *lastName = (__bridge NSString *)ABRecordCopyValue(recordRef, kABPersonLastNameProperty);
    NSString *personName = [NSString stringWithFormat:@"%@%@",lastName,firstName];
    //获取手机号
    NSMutableArray *phoneNumbers = [NSMutableArray new];
    ABMultiValueRef phoneNumbersRef = ABRecordCopyValue(recordRef, kABPersonPhoneProperty);
    for(int j=0; j<ABMultiValueGetCount(phoneNumbersRef); ++j){
    NSString* phoneNumber = (__bridge NSString *)(ABMultiValueCopyValueAtIndex(phoneNumbersRef, j));
    phoneNumber = [phoneNumber stringByReplacingOccurrencesOfString:@"-" withString:@""];
    if (phoneNumber.length > 0) {
    [phoneNumbers addObject:phoneNumber];
    }
    }
    }

    //释放资源
    CFRelease(allPeople);
    });
    }

  • 相关阅读:
    HTMLTestRunner下载生成报告
    python+selenium+chromewebdriver或Firefox的环境搭建
    unittest单元测试(简单算法题)
    APP测试功能点大全
    selenium元素定位
    博弈问题dp模版
    位运算基本操作
    素数模版
    二分查找模版
    计算机网络重要知识点
  • 原文地址:https://www.cnblogs.com/guoxiaoqian/p/5314734.html
Copyright © 2011-2022 走看看