【问题标题】:Sirikit - handler not getting calledSirikit - 处理程序没有被调用
【发布时间】:2018-02-02 18:13:52
【问题描述】:

我目前正在我的应用程序中添加 SiriKit,并且我已经创建了一个 INExtension 类。在我的 Info.plist 中,我有以下代码。

但每次我尝试在我的设备上运行 Intent Extension 类时,Siri 都不会调用任何覆盖句柄方法。我在每种方法中都添加了日志,但没有成功。还有什么我想念的吗?

在发布之前我也参考了链接,但没有答案:Link

<key>NSExtension</key>
<dict>
    <key>NSExtensionAttributes</key>
    <dict>
        <key>IntentsRestrictedWhileLocked</key>
        <array>
            <string>INSearchForAccountsIntent</string>
        </array>
        <key>IntentsSupported</key>
        <array>
            <string>INSearchForAccountsIntent</string>
        </array>
    </dict>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.intents-service</string>
    <key>NSExtensionPrincipalClass</key>
    <string>$(PRODUCT_MODULE_NAME).IntentHandler</string>
</dict>

【问题讨论】:

  • 所以我发现问题在于 Siri 中的某些新 Intent 仅适用于 iOS 11 及更高版本的设备,而我正在 iOS 10 设备上进行测试。

标签: ios swift siri sirikit


【解决方案1】:

我遇到了类似的问题 - 没有调用处理程序。 最后我发现,虽然该项目支持 iOS 11.4,但它最初将 IntentExtension 目标设置为 iOS 13。我用于测试的设备是 12.4。

所以我的建议是:检查每个目标的部署目标。

【讨论】:

  • 我的天啊,我的头撞在桌子上好几个星期了,因为我的 IntentHandler 从未在我的测试 iOS 12 设备上被调用过。我发现我的 Intent 和 IntentUI 目标的构建设置被错误地配置为针对导致问题的 iOS 14.3。将它们更改为针对 iOS 12.0 会立即解决问题。
猜你喜欢
  • 1970-01-01
  • 2019-03-05
  • 2011-01-31
  • 2017-01-09
  • 2014-05-01
  • 2016-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多