您如何使用SiriKit自定义意图的确认阶段?

时间:2018-07-30 05:20:36

标签: ios sirikit

通过Xcode 10 beta的实验,我创建了一个自定义的Siri Intent,它运行良好。我的意图扩展成功接收了意图并依次处理它们。

不需要对意图的参数进行任何形式的验证,一旦触发,它将从网络请求数据。我可以在(void)handle...中做到这一点。

我在自动生成的Intent类中注意到了可能的响应代码列表。

typedef NS_ENUM(NSInteger, SMSCheckTeamIntentResponseCode) {
    SMSCheckTeamIntentResponseCodeUnspecified = 0,
    SMSCheckTeamIntentResponseCodeReady,
    SMSCheckTeamIntentResponseCodeContinueInApp,
    SMSCheckTeamIntentResponseCodeInProgress,
    SMSCheckTeamIntentResponseCodeSuccess,
    SMSCheckTeamIntentResponseCodeFailure,
    SMSCheckTeamIntentResponseCodeFailureRequiringAppLaunch,
    SMSCheckTeamIntentResponseCodeSuccessPlayingNow = 100
}

失败,成功和成功(正在播放)响应在我的Intents文件中定义。其他的(例如,就绪和进行中的)还没有,但是我仍然想使用(void)confirm...方法告诉Siri我的扩展名是“进行中”。

SMSCheckTeamIntentResponse * const response = [[SMSCheckTeamIntentResponse alloc] initWithCode:SMSCheckTeamIntentResponseCodeInProgress userActivity:nil];
completion(response);

此刻,当我在Confirm方法中调用此函数时,Siri表示我的应用出现了问题,扩展程序退出了。

有人知道如何成功使用这些响应代码吗?

0 个答案:

没有答案