gpt4 book ai didi

IOS Objective-c - 让联系人不起作用 - 没有请求提示 - 访问被拒绝

转载 作者:行者123 更新时间:2023-11-29 11:31:17 25 4
gpt4 key购买 nike

我正在使用 Objective-c 为 iPad 开发应用程序。我需要获取联系人的地址簿。但是我没有收到访问请求提示,访问仍然被拒绝。 bool 值“授予”永远不会为真,并且永远不会到达获取联系人数组的代码。因此联系人数组 contactsArray 保持为空。

以下是我使用的代码:

-(void) fetchAllContacts
{
contactsArray = [[NSMutableArray alloc] init];

CNContactStore *store = [[CNContactStore alloc] init];

[store requestAccessForEntityType : CNEntityTypeContacts completionHandler : ^(BOOL granted, NSError * _Nullable error)
{
if (granted)
{
// Code to get the contacts array
// contactsArray = ....
}
}];
}

有什么帮助吗?

谢谢

最佳答案

iOS 只会出现一次模态访问请求提示。如果您第一次拒绝访问,则该应用将无法访问它,直到用户在 iOS 设置中更改该应用的权限。

一个选项是使用 UIApplicationOpenSettingsURLString 作为 URL 显示一个自定义提示,说访问被拒绝,并使用一个按钮直接导航到应用程序设置页面。

//objc
NSURL * url = [[NSURL alloc] initWithString:UIApplicationOpenSettingsURLString];
[UIApplication.sharedApplication openURL:url];

//swift
if let url = URL(string: UIApplicationOpenSettingsURLString) {
UIApplication.shared.openURL(url)
}

关于IOS Objective-c - 让联系人不起作用 - 没有请求提示 - 访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53278239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com