gpt4 book ai didi

ios - 如果用户最初拒绝为您的应用程序提供 Siri 支持,他们以后如何启用它?

转载 作者:行者123 更新时间:2023-11-28 06:17:44 28 4
gpt4 key购买 nike

开始使用 SiriKit。作为第一步,我想测试权限,所以我将我的应用程序设置为使用 Siri,得到了预期的提示,但故意拒绝了使用 Siri 的请求。正如预期的那样,状态返回“未授权”。

但是,随后尝试通过更改“设置”中的开关来重新启用 Siri 似乎对为该应用重新启用 Siri 没有任何影响。

这是我用来检查的代码...

override func viewDidLoad()
{
super.viewDidLoad()

// Prompt for Siri support
INPreferences.requestSiriAuthorization
{
status in

switch status
{
case .notDetermined: print("Not yet determined.")
case .restricted: print("Restricted. The app is not authorized to use Siri services.")
case .denied: print("Not authorized. The user explicitly denied authorization for this app.")
case .authorized: print("Authorized. Siri is enabled and your app is authorized to interact with it.")
}
}
}

如上所述,我认为这个问题的答案就像进入设置应用程序并在那里为该应用程序启用 Siri 支持一样简单,但有趣的是,该应用程序似乎已经获得了访问权限(开关显示为“打开”)即使我已经通过提示拒绝了它。

更令人困惑的是,即使我关闭了那个开关,然后再次打开,可以这么说,希望“重置”它,我的应用仍然存在,并且总是报告不支持 Siri。

即使在一般情况下覆盖 Siri 开关,或重置模拟器的内容和设置,然后重新安装应用程序,我仍然没有收到提示,这意味着它仍然记得我的选择,并且报告它仍未获得授权。

那么人们如何将他们对 Siri 支持的最初选择从“否”更改为"is"?

这可能是模拟器总是报告“未授权”的问题,这必须在实际设备上进行测试吗?

更新

一定是模拟器出了问题。我在设置或代码中所做的任何事情,甚至重置模拟器都没有完全改变它。但是,我更改了包 ID,一切都按预期开始工作。我什至把它改回来了,现在旧的可以按预期工作了。

最佳答案

official documentation 所述,

The first time you make this request, Siri prompts the user to grant or deny permission for your app to integrate with Siri. Subsequent calls to the method do not prompt the user again.

因此一旦用户拒绝权限,他们只能从“设置”中启用它。如果用户拒绝 Siri 许可,您所能做的就是向用户显示一条警报,让他们从“设置”中启用 Siri。

关于ios - 如果用户最初拒绝为您的应用程序提供 Siri 支持,他们以后如何启用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44680499/

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