-1

我需要通过该方法启动Siri(在越狱设备上) 。openUrl:

例如

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"Siri://"]];
4

3 回答 3

2

这是不可能的。此外,Xcode 是一个 IDE - 一个代码编辑器。它不是一种语言或平台。

于 2013-04-04T01:12:10.030 回答
2

Siri似乎没有任何URL 方案,所以我认为你不能那样打开它。Siri 也不是普通的App,它是 SpringBoard 使用的库。

无论如何,如果您想以另一种方式打开它,我会尝试查看 rpetrich 的libActivator源代码。

如果你看这里,你会看到类似于你需要的东西。虚拟助手是“ Siri”。

- (BOOL)activateVirtualAssistant{   
   if ([%c(SBAssistantController) preferenceEnabled]) { 
      if ([%c(SBAssistantController) shouldEnterAssistant]) {
          SBAssistantController *assistant = (SBAssistantController *)[%c(SBAssistantController) sharedInstance];           
          if (assistant.assistantVisible)   
             [assistant dismissAssistant];          
          else {
             [(SpringBoard *)UIApp activateAssistantWithOptions:nil withCompletion:nil];
             return YES;
          }     
       }
   }    
   return NO;
}

这里,代码调用了 SpringBoard 类本身activateAssistantWithOptions:withCompletion:的一个方法。

当然,这种技术是基于 MobileSubstrate hooking的。

免责声明:我没有测试过这段代码。不过,只是看着它,它似乎就是你所需要的。


更新:

这没有使用 URL 方案,但我确实找到了另一种启动 Siri 的方法,如本答案中所述

于 2013-04-10T01:32:44.190 回答
0

Siri 没有 URL 架构,目前也没有可用的集成 - iOS 7 中可能会集成,但现阶段无法执行此功能。

于 2013-04-04T01:35:07.090 回答