Jailbreak Development Tools: Difference between revisions

From iPhone Development Wiki
(IOSOpenDev not so Lonely anymore)
(Add on-device toolchain)
Line 27: Line 27:


[[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.  
[[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.  
== On Device iOS 6.1 Toolchain ==
The "iOS Toolchain" package on the BigBoss repo provides a useful toolchain capable of developing packages on jailbroken devices using the iOS SDK (tested up to the 6.1 SDK)
It contains:
LLVM, Clang, and CompilerRT 3.3
LD64 134.9
Darwin CC Tools 839
When used with theos, these can produce binaries for arm, armv6, armv7, and armv7f using SDKS up to and including the iOS 6.1 SDK.


[[Category:Development Tools]]
[[Category:Development Tools]]

Revision as of 05:52, 3 September 2013

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 nor allowed by default and provides Xcode templates for building common jailbreak-type projects and the various tools needed for such development.

On Device iOS 6.1 Toolchain

The "iOS Toolchain" package on the BigBoss repo provides a useful toolchain capable of developing packages on jailbroken devices using the iOS SDK (tested up to the 6.1 SDK) It contains: LLVM, Clang, and CompilerRT 3.3 LD64 134.9 Darwin CC Tools 839

When used with theos, these can produce binaries for arm, armv6, armv7, and armv7f using SDKS up to and including the iOS 6.1 SDK.