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

Ric*_*cky 5 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
}
Run Code Online (Sandbox Code Playgroud)

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

SMSCheckTeamIntentResponse * const response = [[SMSCheckTeamIntentResponse alloc] initWithCode:SMSCheckTeamIntentResponseCodeInProgress userActivity:nil];
completion(response);
Run Code Online (Sandbox Code Playgroud)

目前,当我在确认方法中调用它时,Siri 说我的应用程序出现问题,并且扩展程序退出。

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