- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
开始使用 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/
我只想允许一个国家/地区访问,但排除该国家/地区内的代理。 这就是我所拥有的(为了方便起见,缩短了版本) order deny,allow deny from all allow from 139.
这个问题在这里已经有了答案: What is an unhandled promise rejection? (9 个回答) 关闭 4 年前。 我目前正在尝试实现我自己的 Promise,以便在 A
我在使用 Gitolite 推送 git 时遇到问题。 当我尝试这个时: git push origin :refs/tags/deployment 我收到这个错误: remote: D NAME/i
我已经为我的 laravel 5.0-dev 项目配置了 mysql,如下所示: 'mysql' => [ 'driver' => 'mysql', 'host' =>
我对 Web 和 SOF 进行了一些研究,但发现对于该错误没有任何真正的帮助。 我使用 Windows 10 Ubuntu Bash 安装了 Node 和 Puppeteer,但未能使其工作,但我设法
在我的应用审核期间,我收到了以下信息: “17.2:要求用户共享个人信息(例如电子邮件地址和生日)才能正常运行的应用将被拒绝 具体来说,您的应用仅使用Facebook登录名进行身份验证,但不包括该网站
我正在开发 VeriFone VX 终端的接口(interface)。虽然,这确实是一个普遍的 EMV 问题。我们的处理器的下限为零,因此它将始终在线发送。但是,如果它发生变化,您如何知道(哪些标签)
我编写了一些宏代码,根据表单提交向经理发送电子邮件(用于费用/审批流程),这是我使用谷歌表单/电子表格的第一个项目,所以也许我可能会错过一些简单的东西,但我为此浏览了 2 个教程,我的代码与重要的部分
clang 3.4 接受以下代码;而 vc++ NOV 2013 CTP 拒绝它并出现错误: error C2668: 'AreEqual' : ambiguous call to overloade
使用 nginx,您可以允许和拒绝范围和 ips (https://www.nginx.com/resources/admin-guide/restricting-access/)。使用realip模
官方编辑: 非常感谢您的帮助,但我仍然遇到问题。 我的 ffserver.conf 文件是这样的: # Port on which the server is listening. You must
我有一个问题:我是 Ubuntu 系统的根。我想授予用户(比如用户名是 X)执行任何命令的权限,但同时我有一个文件夹,除了我的用户(当然不是 X,因为它是 Admin ) 或根。有什么建议么?谢谢!
我使用 Apache2.2 作为 tomcat 服务器的前端。我想限制对某个位置的访问,但允许对子位置的所有访问,但遇到了一些麻烦。 我目前拥有的是: AllowOverride None
就像 this person ,我一直在为浏览器缓存 SSL session 而苦苦挣扎。简而言之,如果选择了客户端证书,则无法以编程方式清除状态,除非在 IE 中使用 document.execCo
我的网站是在由 Apache 服务器提供服务的 Angular 上设置的。我通过 View 将内容动态加载到主页上。 现在以下是我的问题: 我建立这个网站的主要目的是通过 google adsense
我最近遇到了我的应用程序的问题,当它突然被 Google Play 拒绝时因为他们发现我使用的是背景位置 .但实际上我并没有使用这个功能。我只有 ACCESS_COARSE_LOCATION和 ACC
function sendPushNotification(subscription, urlEncodedData){ try { webpush.sendNotification(su
我包裹了一个 request-promise-native调用返回 promise 的函数。 import request from 'request-promise-native'; functio
我正在开发我的 meteor 项目,并开始设置我的第一个更复杂的允许/拒绝规则。我发现很难看出哪些允许触发,哪些不允许触发,以及这些函数中的某些变量包含什么。例如: List.allow({ u
我正在 AngularJS 中创建一个 Factory,它是这样的: if (href) { return $http({ method: method, url: item.href });
我是一名优秀的程序员,十分优秀!