如何在 iOS 6 及更高版本中访问联系人?我认为它需要一些许可。谁能告诉我如何以编程方式请求许可?
问问题
2876 次
2 回答
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
于 2013-02-18T13:39:09.030 回答
0
一旦您尝试从代码访问地址簿,iOS 将要求用户进行减免。
您无法请求许可,因为 iOS 会为您处理此问题。
您可以使用该方法检查权限状态ABAddressBookGetAuthorizationStatus
,您需要将其添加AddressBook.framework
到您的项目并添加#import <AddressBook/AddressBook.h>
到您要使用该方法的文件.h
或文件中。.m
ABAuthorizationStatus status = ABAddressBookGetAuthorizationStatus();
if(status == kABAuthorizationStatusDenied) {
// User has reject your request to access the address book
}
于 2013-02-18T13:33:48.283 回答