随着apple对用户隐私的越来越重视,IOS系统的权限设置也更加严格,在获取系统通讯录之前,我们必须获得用户的授权。权限申请代码示例如下:|几点注意:1、dispatch_semaphore_t三个相关的操作为 dispatch_semaphore_create 创建一个信号 dispatch_semaphore_signal 发送一个信号 dispatch_semaphore_wait 等待信号触发dispatch_semaphore_create()创建一个信号,后面可以跟一个参数,表示信号量,当信号量正值时,dispatch_semaphore_wait后面的代码会被执行,否则程序将会一直等待在 dispatch_semaphore_wait。2、因为是否被授权是在ABAddressBookRequestAccessWithCompletion的block回调中获取的,所以我们需要在外面做一个线程等待。一点扩展:相同的方法,可以获取关联人信息,社交信息,邮箱信息,各种类型的电话信息,字段如下:
ios 获取通讯录联系人和电话