【问题标题】:SiriKit extension not called未调用 SiriKit 扩展
【发布时间】:2019-12-12 15:17:03
【问题描述】:

我正在使用测试应用程序和扩展程序来尝试 SiriKit 驱魔。我的分机根本没有被调用,我不知道为什么。我在另一个应用程序中有一个可用的 SiriKit 扩展程序,它莫名其妙地停止响应 - 因此这个测试应用程序。

这是我在测试应用中设置 SiriKit 所做的:

1) 向应用目标添加 Siri 授权:

2) 在应用的 info.plist 中添加 Siri 使用说明:

3)添加了一个新的Intents Extension测试目标,并将我想要的Intent添加到扩展info.plist中:

4) 连接 IntentHandler 类:

class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> Any {
    print("IntentHandler.handle")
    switch intent {
        case is INAddTasksIntent: return AddIntentHandler()
        default: break
    }
    return self
}
}

5) 创建了我的处理程序类:

class AddIntentHandler: NSObject, INAddTasksIntentHandling {
func handle(intent: INAddTasksIntent, completion: @escaping (INAddTasksIntentResponse) -> Void) {
    print("AddIntentHandler.handle")
    return completion(INAddTasksIntentResponse(code: .success, userActivity: nil))
}
}

6) 在 AppDelegate 中获取使用 Siri 的权限:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    INPreferences.requestSiriAuthorization({ status in
        if status == .authorized {
            print("Ok - authorized")
        }
    })
    return true
}

7) 将 AppIntentVocabulary.plist 文件添加到应用程序(我也测试将其添加到扩展程序):

8) 我仔细检查了扩展程序是否嵌入在应用程序目标中:

9) 并且扩展目标显示正确的支持意图:

10) 在目标部署信息区域中仔细检查应用和扩展目标是否至少需要 iOS 13.2 版本:

11) 然后我在运行 iOS 13.3 的 iPhone 上安装该应用程序,在它启动后授予 Siri 权限,并尝试使用 Siri 添加培根。它根本不会调用我的分机,而是将其添加到内置提醒应用中。

12) 我直接从设备上的 XCode 启动扩展程序,同样的交易 - 我的扩展程序永远不会被调用。

我知道注册 Siri 语言可能需要一段时间,但我这几天一直在搞砸:

不确定它是否相关,但就像我说的那样,我让 Siri 在不同的应用程序中工作 - 未部署到应用程序商店。我花了一些时间来处理应用程序中的其他功能,现在又回到了 Siri 集成,却发现它不再响应了。我已经回滚到我上次已知的提交,Siri 工作只是发现它现在在那个(已知良好的)提交中也不起作用。

帮助!我为此浪费了好几天!发生了什么或我错过了什么?!

【问题讨论】:

    标签: ios swift siri sirikit


    【解决方案1】:

    毕竟问题出在 100% 是我试图用来调用我的应用程序扩展的语言。

    谁知道这行不通,“Appname,将 bacon 添加到列表中”,但这会:“将 bacon 添加到 AppName 中的列表中”。如果您以应用名称开头,Reminders 会捕获它并将其放入提醒列表中。

    我将开始一个关于触发 Intent 的新问题。很抱歉造成混乱。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,通过重启我的物理设备解决了这个问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-08-12
        • 1970-01-01
        • 1970-01-01
        • 2021-08-22
        • 1970-01-01
        • 1970-01-01
        • 2015-07-06
        相关资源
        最近更新 更多