如何使用xcode使用计划url来启动Siri?
我需要通过openUrl:
方法启动Siri (在越狱设备上)。
例如
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"Siri://"]];
这是不可能的。 另外,Xcode是一个IDE – 一个代码编辑器。 这不是一种语言或平台。
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; }
在这里,代码调用activateAssistantWithOptions:withCompletion:
这是SpringBoard类本身的一个方法。
这种技术当然是基于MobileSubstrate 挂钩的 。
免责声明:我没有testing过这个代码。 只是看着它,但它似乎是你所需要的。
更新:
这不是使用URLscheme,但我想出了一个不同的方式来启动Siri, 在这个答案中描述 。
Siri没有URL模式,目前还没有可用的集成 – 可能会有iOS 7的集成,但是在这个阶段没有办法执行这个function。