在iOS上模拟系统宽接触事件
我需要以编程方式将触摸事件添加到iOS设备系统而不使用越狱; 我该怎么做呢?
最好我想使用一个私人的API来做这个在后台运行的应用程序。 我知道这样做会阻止我的应用在app store的可用性; 这是一个私人的应用程序,所以这不是一个问题。
你需要做的是先创build你想要的事件,然后通过“紫色端口”发送给SpringBoard。 马赫港口。 要使它们成为系统范围,必须将它们转发到端口上的每个应用程序。 这意味着你需要真正做窗口pipe理者所做的事情,看看哪个应用程序处于活动状态,屏幕locking等等。
有一个充满了私人框架API的工作(IOSurface,GraphicServices,SpringBoardServices等),以获得您需要的部分。
您将不得不在运行时使用类似dlopen()的方式加载这些私有框架。
这是100%的可能没有越狱的iOS 6.1.4(当前的ATM),但你将加载苹果不允许的AppStore的私人框架;)
有可能的。 到底是如何提到的,使用GSEvents并将它们发送到您试图控制/模拟的应用程序的紫色命名端口。 当然,你需要KennyTM的GSEvent.h来完成这个任务。 我已经为iOS 4.3做了这个,只是通过改变肯尼有一些值(如kGSHandInfoTypeTouchDown),但现在我试图做的iOS 5,它不工作,直到现在。
编辑:它现在在iOS 5.1的工作。
如果没有越狱,没有办法将手势识别器挂接到整个系统的所有视图中。 首先,在后台运行的应用程序无法执行此代码。