Что вам нужно сделать, это сначала создать нужные события, а затем отправить их в SpringBoard через «фиолетовый порт», например. порт Маха. Чтобы сделать их общесистемными, вы должны перенаправить их каждому приложению через порт. Это означает, что вам нужно сделать то, что делает менеджер окон, и посмотреть, какое приложение активно, экран заблокирован и т. Д.
Существует множество частных API-интерфейсов, которые работают (IOSurface, GraphicServices, SpringBoardServices и т. Д.), Чтобы получить нужные вам кусочки.
Вам придется загружать эти частные фреймворки во время выполнения, используя что-то вроде dlopen ().
Это на 100% возможно без джейлбрейка с iOS 6.1.4 (текущий банкомат), но вы будете загружать частные фреймворки, которые не разрешены Apple для AppStore;)