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