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 is a preprocessor that aids in MobileSubstrate extension development. It allows you to define hooks with a clear, readable syntax.
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 is an open-source project that sets up the iOS SDK to allow open development in Xcode of jailbreak-type projects not supported nor allowed by default and provides Xcode templates for building common jailbreak-type projects and the various tools needed for such development.