【问题标题】:SiriKit Extension not workingSiriKit 扩展程序不起作用
【发布时间】:2017-01-24 13:29:40
【问题描述】:

我在 Xcode 的 Capabilities 中启用了 Siri,我还将 NSSiriUsageDescription 添加到我的父应用 plist 文件中,并在我的第一个控制器中请求 Siri 权限。

但是,如果我启动我的 SiriKit 扩展程序并尝试向 Siri 询问我在“IntentsSupported”中的 SiriKit 扩展程序列表中配置的“INRequestRideIntent”,她总是告诉我我需要的应用程序不支持 siri,但我添加了应用程序支持 Siri。

我真的很绝望,我不知道我做错了什么,你能给我建议吗?

目前我所做的看起来像这样:

扩展名 .plist 文件:

扩展项目结构:

【问题讨论】:

    标签: ios swift xcode8 ios10 sirikit


    【解决方案1】:

    SiriKit 的问题是缺少正确的目标。所以我必须为 Siri 添加目标。但 Siri 对我的应用名称也有问题。如果我选择另一个应用程序名称,SiriKit 扩展程序会按预期启动。这是一个错误,我在与技术支持人员交谈后报告了它。

    【讨论】:

      【解决方案2】:

      您必须将 AppIntentVocabulay.plist 添加到您的 Siri 扩展。这就是你定义你的命令的地方。

      【讨论】:

      • 感谢您的建议。我将此文件添加到我的项目中,现在当我说“给我叫辆出租车”之类的东西时,它会建议我的应用程序。当我继续使用我的应用程序时,一切正常。当我向 Siri 寻求帮助时,它也会用一个示例短语来推荐我的应用程序。但奇怪的是,当我说“给我打电话给 MyAppTaxi”时,Siri 说无法打开“MyAppTaxi”。
      • 当我将我的设备设置为英语并说“给我打电话给 MyAppTaxi”时,我可以使用我的应用程序为我预订一趟车。但是,如果我用德语这样做,它就行不通了。我还将 AppIntentVocabulay.plist 本地化,但这无济于事。我也有英语和德语作为应用程序语言。我不确定,那个诗丽吉现在有点儿马车
      • Siri 一次只能说一种语言。当您的手机设置为英语时,它只能理解英语,而当您的手机设置为德语时,它只会响应德语命令。
      • 顺便说一下,如果我的回答对你有帮助,请标记为正确并点赞。那么其他有同样问题的人会更容易找到有用的答案:)
      • 我不能投票赞成一个问题,因为我没有这样做的权限,因为帐户的当前状态。赞成票仅在内部计算。我用英语设置了我的设备并得到了正确的答案。但是当我用德语设置我的设备时,我没有得到我的应用程序的预期答案。这就是我想知道这个问题的原因。
      【解决方案3】:

      检查您是否在 ViewController 中添加了以下 Autherizaion 块。

      [INPreferences requestSiriAuthorization:^(INSiriAuthorizationStatus status) {
              switch (status) {
                  case INSiriAuthorizationStatusAuthorized:
                      NSLog(@"Authorized");
                      break;
                  case INSiriAuthorizationStatusDenied:
                      NSLog(@"Denied");
                      break;
                  case INSiriAuthorizationStatusNotDetermined:
                      NSLog(@"NotDetermined");
                      break;
                  case INSiriAuthorizationStatusRestricted:
                      NSLog(@"Restricted");
                      break;
              }
          }];
      

      如果已经添加了这个块,那么很好。 接下来的事情是无论你的应用程序名称是什么,它都应该在你的词汇文件中,并带有短语。 即“在 MyAppTaxi 中预订出租车”。这种完美的英式英语短语在 Siri 中是可以接受的。

      【讨论】:

        猜你喜欢
        • 2012-06-03
        • 1970-01-01
        • 1970-01-01
        • 2014-06-01
        • 2015-01-16
        • 2020-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多