【问题标题】:kABAuthorizationStatusDenied when i try to access contacts from the iphone for my app?kAB AuthorizationStatus Denied 当我尝试从 iphone 访问我的应用程序的联系人时?
【发布时间】:2014-09-03 06:20:33
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    步骤:

    iOS 8+

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

    iOS 7

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

    【讨论】:

    • premkumar 感谢您的回复,但正如我所说,我的应用程序是不可见的。我们无法在 iPhone 中看到它,因为它没有出现在任何地方。它在后台模式下运行所以在设置 -> 隐私 -> 联系人 -> 我的应用程序没有出现。这就是为什么我无法更改我的应用程序的隐私设置。有没有其他办法???
    猜你喜欢
    • 2013-05-15
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多