如何使用带xcode的方案url启动Siri?

时间:2013-04-04 01:02:10

标签: ios objective-c jailbreak siri

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

例如

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

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

如果you look here, you'll see something similar符合您的需求。 虚拟助手是“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;
}

此处,代码调用activateAssistantWithOptions:withCompletion:,这是the SpringBoard class itself中的方法。

当然,这种技术基于MobileSubstrate 挂钩

免责声明:我尚未测试此代码。但是,看看它,它似乎就是你需要的。


更新

这不是使用URL方案,但我确实想出了一种不同的方式来启动Siri,described in this answer

答案 2 :(得分:0)

Siri没有URL模式,目前还没有集成可用 - iOS 7中可能会集成,但在此阶段无法执行此功能。