Как вы используете фазу подтверждения пользовательского намерения 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);
В тот момент, когда я вызываю это в методе подтверждения, Сири говорит, что с моим приложением что-то пошло не так, и расширение закрывается.
Кто-нибудь знает, как успешно использовать эти коды ответов?