Objective c kABAuthorizationStatusDenied当我尝试从iphone访问我的应用程序的联系人时?

Objective c kABAuthorizationStatusDenied当我尝试从iphone访问我的应用程序的联系人时?,objective-c,iphone,xcode5,abaddressbook,ios7.1,Objective C,Iphone,Xcode5,Abaddressbook,Ios7.1,我有一个不可见的应用程序,在iPhone的后台运行。应用程序希望从iPhone访问联系人,但由于kABAuthorizationStatusDenied,无法获取该联系人。 这是访问联系人的代码 ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL); if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDet

我有一个不可见的应用程序,在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步骤:

iOS 8+

  • 设置->选择应用程序名->隐私->启用联系人应用程序权限
  • iOS 7

  • 设置->隐私->联系人->选择应用程序名称->启用权限

  • premkumar感谢您的回复,但正如我所说,我的应用程序是隐形的。我们无法在iPhone中看到它,因为它不在任何地方出现。它在后台模式下运行,因此在设置->隐私->联系人->我的应用程序中不会显示。这就是我无法更改应用程序隐私设置的原因。还有别的办法吗???