Как вы используете фазу подтверждения пользовательского намерения SiriKit?

Экспериментируя с бета-версией Xcode 10, я создал собственный Siri Intent, и он работает хорошо. My Intents Extension успешно получает намерения и обрабатывает их по очереди.

Для параметров намерения не требуется какой-либо проверки, после того, как он будет инициирован, он запросит данные из сети. Я могу сделать это в (void)handle...,

Я заметил в своем автоматически сгенерированном классе Intent список возможных кодов ответов.

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

Ответы об ошибках, успехах и успехах (играющих сейчас) определены в моем файле Intents. Другие, такие как готовые и выполняемые, нет, но я все же хотел бы сказать Siri, что мое расширение "в процессе" с использованием (void)confirm... метод.

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

В тот момент, когда я вызываю это в методе подтверждения, Сири говорит, что с моим приложением что-то пошло не так, и расширение закрывается.

Кто-нибудь знает, как успешно использовать эти коды ответов?

0 ответов

Другие вопросы по тегам