我试图弄清楚如何使用 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];
但是,它最终在应用程序中出现异常:
无法从意图创建快捷方式({ taskName = ; identifier = EE4661C6-1826-4A14-84EC-FD684647FE2B; }),因为它没有有效的参数组合
所以我不确定如何正确地做到这一点。捐赠快捷方式时是否必须提供任务名称?但这意味着每次都会显示相同的 taskName 并将其添加到系统中,这不是我想要的。还是新的 SiriKit 的可定制性不足以处理通用输入?