Some days ago I started to develop an iPhone application with the latest version of Xcode. When I realized that I need to pay 99 dollars to Apple in order to test my application (that, by the way, I would share freely), I started to search on the web a solution for this problem. Unfortunately all the proposed solutions where about iPhone 2.0, and these don’t work the same with iPhone 3.1.3. Today I found an how-to that worked for me, but with some passages that could be a bit tricky for non-hackers, so I decided to share it here, with some more passages needed to get our final goal: develop an iPhone application with Xcode 3.2.1 without being registered to any Apple Development Service.
Nothing from this page comes from me, everything was written by KennyTM on his blog: networkpx Project Blog so don’t thank me – if it works – but go to his blog and visit him!
Only compile the executable
If you just want to compile the executable, maybe for including it in a .ipa file, or for copying it with scp on your device, just follow the instructions on KennyTM’s blog, under the “I want to compile.” title. It’s simple, clear and understandable (thanks, KennyTM!).
Also install it on your device
Well, this part is more tricky, but it’s not so difficult if you know how to use the Terminal (and you know how to use it, right?).
- The point 1 is quiet simple, just download the executable by following the link, and place it in /usr/local/bin as KennyTM said. Remember to make it executable running
chmod +x /usr/local/bin/ldid.
- The point 2 is also simple, but remember again to make it executable, as shown above.
- Points 3 and 4 are easy.
- In point 5, in order to copy installd from my device to my mac, I used ssh. I have it since I have a Jailbroken iPod Touch, and I have been able to install OpenSsh with Cydia; if you have an original OS on your device (good for you) check if ssh is available looking in the Preference Panel of the device which is its IP address (you need to connect it at the same network of your mac, obviously) and executing
ssh root@IP_ADDRESS
from a Terminal of your mac. The default password for your device is “alpine” (remember to change it with passwd, since it’s the same for all iPhones and iPods). If it works, just run
scp root@IP_ADDRESS:/usr/libexec/installd ~/Desktop/
and you have copied installd on your mac.
- Points 6 and 7 are simple, just follow them.
- In order to complete point 8, you need to use the iPhone gcc. Looking at some comments on the blog you can find how to do this, but here it is the command you have to execute:
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 libmiss.c \ -dynamiclib \ -install_name /usr/lib/libmiss.dylib \ -current_version 1 \ -compatibility_version 1 \ -Wl,-reexport-lmis \ -flat_namespace \ -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk \ -arch armv6 \ -o libmiss.dylib
- Points from 9 to 12 are simple, just use scp again to copy the modified files from your mac to your device (scp SOURCE DEST).
Remember to add your device to Xcode. To do that, run it and from the menu select “Window / Organizer”. Connect your device, select it and enable it!
Now you are able to compile your applications on your device! Happy working!

Recent Comments