在iOS 8中使用私有API打开Siri

4
我想制作一个应用程序,该应用程序不会在App Store上发布。我希望这个应用程序通过私有API打开Siri,基本上将Home按钮按下和长按注入事件队列中。我已经尝试过使用GSEvent(GSSendEvent - Inject Touch Event iOS),但在iOS 7之后它不再起作用(它悄悄地失败了)。我相信可以通过SBUIController实现,但我无法弄清楚如何在iOS 8中使用SBUIController。明确一点,我想在非越狱手机上完成这个操作。
我该如何在iOS 8中实现这个功能呢?
谢谢

包含你尝试过的代码可能会有所帮助(但在iOS 7之后失败了)。 - Andrew
我尝试过的代码在SO答案中链接...这是一个已知的行为,不特定于任何在iOS 7之后失败的代码。 - virindh
请记住,在API中,苹果公司可能会将“Siri”称为“VirtualAssistant”。这可能会帮助您找到所需的内容。 - Nate
1个回答

3
你应该查看所有私有/公共API的运行时头文件,可以在这里找到。
我在辅助功能中发现了一个可能适用于你的情况的隐藏方法。在这里查看它。该方法名为-(void)openSiri,这表明它可能会打开Siri,不过我还没有尝试过。

我以前见过这个!但是,我不知道如何使用运行时头文件...我尝试了自述文件中的示例,但它没有起作用。你能提供一个例子吗?谢谢。 - virindh
当然,看看这个答案-https://dev59.com/rGrXa4cB1Zd3GeqPDd3M#13388225。你必须复制私有框架,然后自己添加标题(或者只写一个,其中需要的方法名称相同)。之后,您应该能够使用它。顺便说一句,如果在辅助功能中打开辅助触摸,您可以看到它有一个“打开Siri”按钮,这意味着必须在某个地方打开Siri的方法:)您可能可以反向工程化,但这可能会更困难一些。 - Dominik Hadl
@DominikHadl - 我能理解打开Siri的部分。你如何注入主页按钮?有任何示例吗? - TorukMakto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接