将数据从Siri传递到Objective C中的其他应用程序?

问题描述 投票:1回答:1

我们正在为我们的一个应用程序实现Sirikit。我们可以使用SiriKit intent INSendMessageIntent发送消息。在“Send” Siri命令处理时,我们需要将一些信息传递给其他应用程序。我们已经找到[self.extensionContext openURL]intentViewController开放申请。正如我们观察到的那样,每次configureWithInteraction处理每个用户命令时都会调用IntentViewControllerSiri。由于我们只需要在“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);

我们期望在动作完成时调用包含应用程序委托的以下函数(ieINSendMessageIntentResponse传递给完成处理程序)

-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
objective-c ios10 siri sirikit
1个回答
0
投票

几年过去了......但无论如何,也许它会帮助别人。您可以使用您创建的用户活动传递参数。

[userActivity addUserInfoEntries:]

© www.soinside.com 2019 - 2024. All rights reserved.