标签: inshortcut

SiriKit 自定义意图参数和快捷方式

我试图弄清楚如何使用 iOS12 中的自定义意图来定义和创建快捷方式。我想创建一个快捷方式,以便用户可以将任务添加到我的应用程序并为其命名(以及将来的其他参数)。例如,只需对 Siri 说“添加名称为‘拿起衣物’的任务”。

以下是我定义意图的方式: 在此输入图像描述

然后我尝试使用以下命令创建 Siri 快捷方式:

    TaskIntent *taskIntent = [[TaskIntent alloc] init];
    taskIntent.suggestedInvocationPhrase = @"TaskIt";

    INShortcut *taskShortcut = [[INShortcut alloc] initWithIntent:taskIntent];

    INUIAddVoiceShortcutViewController *addSiri = [[INUIAddVoiceShortcutViewController alloc] initWithShortcut:taskShortcut];
    addSiri.delegate = self;
    [self presentViewController:addSiri animated:YES completion: nil];
Run Code Online (Sandbox Code Playgroud)

然而,它最终在应用程序中出现异常:

无法从 Intent ( { taskName = ;identifier = EE4661C6-1826-4A14-84EC-FD684647FE2B; }) 创建快捷方式,因为它没有有效的参数组合

所以我不确定如何正确地做到这一点。捐赠快捷方式时是否必须提供任务名称?但这意味着每次都会显示相同的任务名称并将其添加到系统中,这不是我想要的。或者新的 SiriKit 的可定制性不足以处理通用输入?

objective-c ios sirikit ios12 inshortcut

3
推荐指数
1
解决办法
4213
查看次数

标签 统计

inshortcut ×1

ios ×1

ios12 ×1

objective-c ×1

sirikit ×1