1

アプリケーションの1つに実装Sirikitしています。SiriKitインテントを使用してメッセージを送信できますINSendMessageIntent。コマンド処理時“Send” Siriに、一部の情報を他のアプリケーションに渡す必要があります。[self.extensionContext openURL]からアプリケーションを開くことがわかりましたintentViewController。観察したように、各ユーザー コマンドを処理するたびに呼び出される がありconfigureWithInteractionます。コマンドでのみアプリケーションを開く必要があるため、現在の処理状態、つまり「送信」を特定することはできません。IntentViewControllerSiri“Send” Siri

またはとにかくから呼び出すことはありますopenURLintentHandler

以下に示すように、IntentResponse を完了しています。

NSUserActivity *userActivity = [[NSUserActivity alloc] initWithActivityType:@“com.xxxxxx.xxx.myapp”];

INSendMessageIntentResponse *response = [[INSendMessageIntentResponse alloc] initWithCode:INSendMessageIntentResponseCodeSuccess userActivity:userActivity];
NSLog(@"response is %@",response);
completion(response);

アクションが完了したときに、アプリのデリゲートを含む次の関数が呼び出されることを期待しています (つまり、INSendMessageIntentResponse が完了ハンドラーに渡されます)。

-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
4

1 に答える 1