如何将我的应用命令嵌入到 Siri 或任何其他语音激活库中

How do I embed my app commands with siri or any other voice activation library

基本上,我希望我的应用程序是语音激活的 如果用户要求我的应用程序打开,那么它应该打开 如果用户说了些什么,就必须在文本框中输入 如果用户说要单击按钮,则必须完成 如果用户想被语音朗读,那么它应该读出来。 基本上,如果可能的话,我想有时在应用程序中阅读用户命令并为我的用户群提供最好的服务

那里没有太多可用的文档, 所以我想在这里问这个问题

这是不可能的。除了在 SiriKit 框架中实现的功能之外,您不能将 Siri 与应用程序一起用于任何其他用途,并且 SiriKit 不提供任何仅打开您的应用程序而不实际处理意图的方法,并且自定义命令也不支持那一刻。

对于听写,您可以使用 Speech framework and for the system to "read out" something from your UI, you need to support VoiceOver, which is part of Accessibility

我的目的是在我的应用程序中打开秘密屏幕(测试屏幕)。最好的方法是显示一个通常隐藏的按钮,我使用 Siri 的假消息。应用程序可以满足 Siri 请求,但不需要其他特殊代码,我只需添加带有 postNotification 的 appDelegate.m 方法,某些代码会在某处附加一个按钮

- (BOOL)application:(UIApplication *)application willContinueUserActivityWithType:(NSString *)userActivityType {
    if ([userActivityType isEqualToString:@"INSendMessageIntent"]) {
       [[NSNotificationCenter defaultCenter] postNotificationName:@"modeTest" object:nil];
    }
    return YES;
}

现在询问 Siri "Send message with 'AppName' " 正在显示我的 IntentWiewController.m 视图,您可以通过触摸屏中止进程,应用程序正在 运行ning 但通知已发送,某些进程可以就像添加任何秘密控件一样容易完成。接下来 运行 将隐藏按钮。