Modeling System Wide Touch events on iOS

I need to programmatically add touch events to iOS devices in the system without using jailbreak; how to do it?

Preferably, I would like to use a private API for this in the background. I know that this prevents the availability of my application in the application store; it is, however, a personal application, so this is not a problem.

+5
ios iphone iphone-privateapi
Feb 10 2018-12-12T00:
source share
3 answers

What you need to do, first create the necessary events, and then send them to SpringBoard via the "purple port", for example. mechanical port. To make them systemic, you must forward them to each application through the port. This means that you need to do what the windowmanager does and see which application is active, locked on the screen, etc.

There is a hand full of private framework APIs that work (IOSurface, GraphicServices, SpringBoardServices, etc.) to get the snippets you need.

You will have to load these private frameworks at runtime using something like dlopen ().

It is possible 100% without jailbreak with iOS 6.1.4 (current ATM), but you will be downloading private frameworks that Apple does not allow for the AppStore;)

+3
Jun 19 '13 at 17:39
source share

It is possible. Exactly as you mentioned, using GSEvents and sending them to the purple port of the default application that you are trying to control / simulate. Of course, you need KennyTM GSEvent.h for this. I did this for iOS 4.3, just changing some of the values โ€‹โ€‹Kenny had (like kGSHandInfoTypeTouchDown), but now I'm trying to do it for iOS 5 and it still doesn't work.

EDIT: Now it works for iOS 5.1.

+1
Apr 03 2018-12-12T00:
source share

Without a jailbreak, there is no real way to attach a gesture recognizer to all representations of the entire system. Firstly, your application running in the background does not have the ability to execute this code.

-one
Feb 10 '12 at 1:28
source share



All Articles