【问题标题】:Siri Intent Donation for Shortcuts ending up with errorSiri Intent Donation for Shortcuts 以错误告终
【发布时间】:2018-12-25 04:13:41
【问题描述】:

我为 Siri 快捷方式创建了一个简单的意图,每当我尝试捐赠该意图时,都会出现以下错误。

交互捐赠失败:%@ Error Domain=IntentsErrorDomain Code=1901 "无法捐赠互动{ 意图 = { 用户 = ; 标识符 = 06DE1A38-6D46-4CB8-B825-3788E6A81420; }; dateInterval = <_nsconcretedateinterval:> (开始日期) 2018-07-17 12:38:39 +0000 + (持续时间) 0.000000 秒 = (结束 日期)2018-07-17 12:38:39 +0000; 意图响应 = ; 组标识符 = ; intentHandlingStatus = 未指定; 标识符 = F145FA84-7147-41A8-8698-681F06C8CEB5; 方向=未指定; } 意图没有有效的快捷方式类型” UserInfo={NSLocalizedDescription=无法捐赠交互 { 意图 = { 用户 = ; 标识符 = 06DE1A38-6D46-4CB8-B825-3788E6A81420; }; dateInterval = <_nsconcretedateinterval:> (开始日期) 2018-07-17 12:38:39 +0000 + (持续时间) 0.000000 秒 = (结束 日期)2018-07-17 12:38:39 +0000; 意图响应 = ; 组标识符 = ; intentHandlingStatus = 未指定; 标识符 = F145FA84-7147-41A8-8698-681F06C8CEB5; 方向=未指定; } 具有没有有效快捷方式类型的意图}

以下是我的意向捐赠代码

func donateInteraction() {
        let intent = GetBalanceIntent()
        intent.suggestedInvocationPhrase = "Get Balance"
        let interaction = INInteraction(intent: intent, response: nil)
        interaction.donate { (error) in
            if error != nil {
                if let error = error as NSError? {
                    print("Interaction donation failed: %@", error)
                } else {
                    print("Successfully donated interaction")
                }
            }
        }
    }

【问题讨论】:

  • 你能给我看看你的.intentdefinition文件吗?一张就够了

标签: ios siri sirikit ios12 sirishortcuts


【解决方案1】:

您的意图定义文件应具有有效的快捷方式类型。您可以在快捷方式类型下添加它们。

【讨论】:

    【解决方案2】:

    我错过了初始化我在定义文件中定义的自定义属性(即上面示例中的用户)。

    添加它解决了这个问题。代码如下所示:

    func donateInteraction() {
            let intent = GetBalanceIntent()
            intent.suggestedInvocationPhrase = "Get Balance"
            intent.user = "vittal"
            let interaction = INInteraction(intent: intent, response: nil)
            interaction.donate { (error) in
                if error != nil {
                    if let error = error as NSError? {
                        print("Interaction donation failed: %@", error)
                    } else {
                        print("Successfully donated interaction")
                    }
                }
            }
        }
    

    【讨论】:

    • 你真的必须添加所有属性,甚至是非可选的枚举(我认为会有一个默认值)
    【解决方案3】:

    我遇到了同样的问题,我意识到我的 swift 文件中的 INIntent 子类名称与 .意图定义,希望这对某人有所帮助。

    【讨论】:

    • 嘿,你能成功运行多个意图吗?
    猜你喜欢
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    • 2019-04-14
    • 1970-01-01
    • 2019-07-16
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多