以编程方式请求访问iOS 6及更高版本中的联系人

时间:2013-02-18 13:29:12

标签: iphone contacts

如何在iOS 6及更高版本中访问联系人? 我认为需要一些许可。 谁能告诉我如何以编程方式申请许可?

2 个答案:

答案 0 :(得分:4)

ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL);
if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined) {
    ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted, CFErrorRef error) {
        if (granted) {
            NSLog(@"Access granted!");
        } else {
            NSLog(@"Access denied!");
        }
    });
}

修改
这个答案有点详细:https://stackoverflow.com/a/12648938/322548

答案 1 :(得分:0)

只要您尝试从代码访问地址簿,iOS就会要求用户进行缓解。

由于iOS会为您处理此问题,因此无法请求许可。

您可以使用ABAddressBookGetAuthorizationStatus方法检查权限状态,您需要将AddressBook.framework添加到项目中,并将#import <AddressBook/AddressBook.h>添加到.h或{{ 1}}您要使用该方法的文件。

.m