【发布时间】: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