|
Computer Science & Software Engineering Compiling iPhone/iPod Touch applications |
|
||
HOWTO compile iPhone applications using traditional development toolsI prefer to use quite traditional UNIX development tools for my application development - vi, make, and gcc (yes, you may prefer emacs). Of course each of these is readily provided under OS X but, when it comes to iPhone development, we're dissuaded from using these traditional tools in favour of the GUI-based XCode environment. There is a wealth of information and noise on the web devoted to developing iPhone applications in a jailbroken world. The volumes of commentary on copying SDK headers, extracting the root-filesystem, bypassing code signatures, self-signed code, pseudo signing, disabling firmware checks, SpringBoard patching, and executable entitlements, is daunting. Moreover, one critical tool, ldid, remains poorly written and its only diagnostics are issued via its code's assert statements. Unfortunately, much of this commentary is outdated, undated, confusing, and offers attractive red-herrings to those just starting out. Much of it was written prior to the lifting of the NDA, and describes long-past hacks for previous versions of the iPhone firmware and SDK.
This HOWTO outlines how to continue using traditional development tools.
Assumed environment
How you get your development environment to this level, legally or illegally, is up to you - but please don't ask how to do so illegally.
Preparing your iPhoneFirstly, on your jailbroken iPhone, add the new source www.iphone.org.hk/apt/ to Cydia:
Cydia -> Manage -> Sources -> Edit -> Add Then, when this source is entered and Cydia has been refreshed, install the two packages named:
Configure your iPhone to trust your MacintoshIt is widely known that the root password on jailbroken iPhones is alpine, but it's inconvenient to have to type this many times during application development. Instead, we use the related commands ssh to issue commands on our iPhone, and scp to copy files to our iPhone.The necessary steps to enable this are best described as steps (a)-(e) in the section commencing "In order to avoid typing the password using ssh...." from this blog. Preparing your MacintoshThere's not much to do here. Most effort is usually devoted to locating all of the necessary files and directories amongst the /Developer directory, but the necessary information can best be provided through a generic Makefile (download here) :
Compiling and installing your applicationThis HOWTO is not intended to be an introductory tutorial for iPhone and Objective-C development.However, to test that your development platform is ready, an introductory application named MyApp may be downloaded from here.
That's it!Suggestions on how to improve this document are welcome.Good luck,
|
|
CRICOS Provider Code: 00126G Written by chris@csse.uwa.edu.au last modified: 11th November 2008. |
|