我有一个快捷方式,如果我在快捷方式应用程序中使用它,效果会很好,但是, 我正在尝试使用此代码捐赠它
func donateInteraction(result: @escaping FlutterResult) {
let intent = OpenDoorIntent()
intent.DoorType = DoorType.flat;
intent.suggestedInvocationPhrase = "Open my flat";
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")
result("Shortcut Donated");
}
}
}
}
我在这里看到了一个类似的问题:
Siri Intent Donation for Shortcuts ending up with error
但是他们的问题是缺少快捷方式参数的初始化,但是,DoorType 是我唯一的参数并且已经初始化,他们还提到意图定义文件应该具有快捷方式类型,但在 Xcode 12.5.1 上我不再看到快捷方式类型部分:
我每次都收到此错误:
2021-07-23 20:35:08.227514+0200 Runner[6823:556804] flutter: Donation result is Shortcut Donation error .
2021-07-23 20:35:08.226190+0200 Runner[6823:557342] [Intents] -[INInteraction donateInteractionWithCompletion:]_block_invoke Cannot donate interaction with OpenDoorIntent that has no valid shortcut types
Interaction donation failed: %@
Error Domain=IntentsErrorDomain Code=1901 "Cannot donate interaction with intent that has no valid shortcut types: <INInteraction: 0x281a80000> {
intent = <INIntent: 0x2810e5180> {
};
dateInterval = <_NSConcreteDateInterval: 0x283ebc540> (Start Date) 2021-07-23 18:35:08 +0000 + (Duration) 0.000000 seconds = (End Date) 2021-07-23 18:35:08 +0000;
intentResponse = <null>;
groupIdentifier = <null>;
intentHandlingStatus = Unspecified;
identifier = E39F49C5-222D-422A-9BEB-7F5AFBF9CB12;
direction = Unspecified;
} for intent <OpenDoorIntent: 0x281098c80> {
doorType = 1;
}" UserInfo={NSLocalizedDescription=Cannot donate interaction with intent that has no valid shortcut types: <INInteraction: 0x281a80000> {
intent = <INIntent: 0x2810e5180> {
};
dateInterval = <_NSConcreteDateInterval: 0x283ebc540> (Start Date) 2021-07-23 18:35:08 +0000 + (Duration) 0.000000 seconds = (End Date) 2021-07-23 18:35:08 +0000;
intentResponse = <null>;
groupIdentifier = <null>;
intentHandlingStatus = Unspecified;
identifier = E39F49C5-222D-422A-9BEB-7F5AFBF9CB12;
direction = Unspecified;
} for intent <OpenDoorIntent: 0x281098c80> {
doorType = 1;
}}
我尝试了一切,但我不知道还能做什么。