kAB AuthorizationStatus当我尝试从我的应用程序的iphone访问联系人时拒绝?

时间:2014-09-03 06:20:33

标签: objective-c iphone xcode5 abaddressbook ios7.1

我有一个隐形的应用程序,可以在iPhone的后台运行。应用程序想要从iPhone访问联系人但由于kABAuthorizationStatusDenied而无法获取联系人。 以下是访问联系人的代码。

ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL);

if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined) {
    ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted, CFErrorRef error) {
      if (granted) {
          // access has been granted.
      } else {
          // User denied access
      }
    });
  }
  else if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized) {
    // The user has previously given access
  }
  else {
    // The user has previously denied access
  }

它始终运行//用户先前拒绝访问的最后一个部分。这意味着用户已明确拒绝访问联系人。解决办法是什么? 我试图重置位置&设置中的隐私 - >一般 - >重启 但仍然进入用户拒绝访问的else部分。

规格:
iPhone:5s
iOS:7.1

1 个答案:

答案 0 :(得分:0)

步骤:

iOS 8 +

  1. 设置 - >选择您的应用名称 - >隐私 - >启用通讯录应用的权限。
  2. iOS 7

    1. 设置 - >隐私 - >联系人 - >选择您的应用名称 - >启用权限