Dev:Libobjcipc

libobjcipc is a developer library that provides an inter-process communication (between app and SpringBoard) solution for jailbroken iOS. It handles the socket connections between SpringBoard and app processes, the automatic set up of process assertions and the auto disconnection after timeout or the process terminates.

You only need to call the static methods in the main class. Messages and replies can be sent synchronously (blocking) or asynchronously.

How to use this library
Headers are available from libobjipc's GitHub project and the library can be found at  on a device where libobjipc is installed. If using Theos, place the headers in, the library in   and add   to the   Makefile variable.

= Basic Usage = The basic usage of the library is to have an extra MobileSubstrate extension which hooks into a specific app to set up an incoming message handler. Another instance in SpringBoard process sends a message to that app and wait for its reply, and vice versa. Messages can be sent from either end.

The library ensures that the receiver is able to receive new messages so it will make the app process stay in background until timeout occurs. Some potential problems, for instance the app is not opened yet or crashes, are appropriately handled by the library itself. In such cases, the messages are sent once the app process is opened or the sender gets an instant empty reply if there is any problem in the receiver (e.g. the app crashes).

If you encounter any crashes in the receiver end, check whether the incoming message handler (block) in the receiver end causes any crashes.

Handle incoming messages
= Example Projects =