Dev:Jailbreak Development Tools

The first step in developing for jailbroken devices (this includes MobileSubstrate extensions, or "tweaks") is understanding the commonly-used development tools.

= Theos: Build System =

Not to be confused with a toolchain or SDK, Theos helps create and manage projects. Theos:


 * Creates new empty projects based on templates (see NIC, below)
 * Handles Makefiles for your build environment
 * Automates packaging (to .deb) and installation

NIC (New Instance Creator)
The New Instance Creator is a script, included with Theos, that creates empty projects for you to use as starting points for your development.

An example of how NIC is used can be found here.

= Logos =

Logos is a preprocessor that aids in MobileSubstrate extension development. It allows you to define hooks with a clear, readable syntax.

= Logify =

Unlike the tools listed above, Logify isn't a tool you would use throughout a project's life cycle. Logify accepts a class header and generates a MobileSubstrate extension which hooks all of that class's methods, printing log messages when they are called. This helps a hook developer see when certain methods are invoked during use.

= IOSOpenDev =

iOSOpenDev is an open-source project that sets up the iOS SDK to allow open development in Xcode of jailbreak-type projects not supported or allowed by default and provides Xcode templates for building common jailbreak-type projects and the various tools needed for such development.

= On-device toolchains =

See On-device toolchains for details.

= 6.1 Toolchain For Windows =

Coolstar is working on an iOS toolchain for Windows, available here.

= Reverse Engineering Tools =

See Reverse Engineering Tools for details.