Developing for a Jailbroken iPhone A to Z (iOS 4.0.1)

Jailbreak Development for iOS4!

Vital Stats:
iOS 4.0.1
Xcode 3.2.3
Mac OSX 10.6.4 Snow Leopard
iPhones 3G, 3GS, 4 (I finally have the whole lineup!)

PROBLEM: I still can’t get iPhone 4 working. If you have one, please try it and help me out! UPDATE: Found the cause of the problem to be certain status bar libraries installed alongside other apps. I’m not sure why they cause the problem, but see full notes at the bottom of the post.

The Goal: As usual, we want to be able to click “build and go” in Xcode and get the app we’re working on to load to the phone and start up. Also, we want to be able to debug from within Xcode itself. After all, Xcode is cool, and terminal+makefiles+gcc+gdb is lame. Continue reading

Developing for a Jailbroken iPhone A to Z (iPhone 3.1.2)

Debugging on device. Freaking finally.

Debugging on device. Freaking finally.

UPDATE: There’s a new method for iOS4 but they’re pretty similar anyway.

So it’s been a while, but now that I’m on break again and have some time, I’m doing a bit of iPhone development again. That means I’m going to need to debug on-device (or at least load my app to it to have fun in the real world with my handiwork). This time, the procedure’s a little different though.

Vital stats:
iPhone OS 3.1.2
Xcode version 3.2.1, 64 bit
Mac OSX 10.6.2 Snow Leopard

Let’s do it.

UPDATE: Corrected a problem with the run script build phase: corrected the directory names for the new version and copied the new phase that doesn’t include “resource_rules.plist.”

UPDATE 2: Somehow I forgot the add an identity step. It’s now #1 below. Sorry guys. Also, while this whole thing should apply to iPhoneOS 4, I’m going to officially text it/repost with 4.01 soon.

Continue reading

Using the Open Tool Chain in Xcode (for both OS 2.2 and 3.0)

OTC =/= Over the counter, but it WILL cure what ails ya.

OTC =/= Over the counter, but it WILL cure what ails ya.

The iPhone OS SDK from Apple is wonderful, and being able to develop and debug on-device even without paying the entry tax is even more wonderful. To really take Jailbreak development to the next level, though – to develop Apps that don’t play nicely in Apple’s SDK playground – you are going to need the open tool chain. Here’s how to rock Xcode OTC style. Continue reading

Developing for a jailbroken iPhone, A to Z (iPhone 3.0)

30rockin

Rockin 3.0

UPDATE: NEWGUIDE NEWGUIDE NEWGUIDE!

Vital iPhone stats for this post:
iPhone version: 3G (should work with 2G and 3GS)
iPhone OS version: 3.0 (rock the hizzouse!)
Jailbreak status: Jailbroken using Pwnage Tool.

The Goal: Get live on-device XCode debugging without being a paying ADC member. This time OS 3.0 style. Continue reading

Hold on tight, 3.0 sdk info coming soon

UPDATE 7/11/09: Procedure working great: post here.

Everyone’s getting antsy about on-device debugging with SDK 3.0, which as most of us know broke our preferred method. It looks like the only answer may be to use an outdated version of the SDK, but I’m going to look into it asap. My plan was to use an external drive to install a throw-away virgin copy of OSX. That way, I can experiment and play, and just trash things that don’t work so that I know EXACTLY how to install properly. Incidentally, I also need to use this setup for a few similar things at work. The problem is that my MBP’s DVD burner is a piece of crud. I say that conclusively because everyone else with a Macbook Pro has the same problems after some time. At this point, it still READS DVDs (mostly) but it can’t burn to save its life. My OS disks got horribly marred by someone I loaned them to, and while I had backup images on an external drive, they’re clearly not helpful if I can’t burn disks :) . Today though, I’ll have access to fresh, OEM disks, so I’ll get my install going, image it with SuperDuper or Disk Utility, and that should be the ticket. I’ll keep you updated, but I expect that I might be able to start working on this after work tonight or tomorrow sometime. In the mean time, the best resource on this problem (and the one that I plan to use to get some procedures going) is http://iphonesdkdev.blogspot.com/.

Developing for a jailbroken iPhone, A to Z (iPhone 2.2)

Vital iPhone stats for this post:
iPhone OS version: 2.2 UPDATE 7/11/09: OS 3.0 procedure here
Jailbreak status: Jailbroken using Pwnage Tool 2.2, old baseband preserved (see post here, coral cache)

The Goal: Get live on-device XCode debugging without being a paying ADC member.

Abstract: The iPhone uses code-signing to restrict what gets run on the device. Under normal conditions, this means that John-developer signs up with ADC (Apple Developer Connection) and gets, among other credentials, a code signing identity. He downloads a certificate, plugs all the info into XCode, and when he compiles his project for debugging or release, it gets signed with this certificate. When it gets transferred to an iPhone (say, for debugging) or released to the App Store, this signature gets checked to ensure that the code came from a registered, trusted ADC member.

What WE want to do is run our own code, developed in XCode, on our iPhone without this valid certificate from Apple. Part of this process allows code from OTHER non-ADC-signed developers to run on other phones, but that’s not the real point. The goal of THIS tutorial is to make the Build and Go live-on-device debugging work on a jailbroken iPhone without the proper signature, in other words without the need to pay. Note: this does not allow you to develop for the App Store. This is only good if you’re only developing for yourself or you plan to distribute only for jailbroken phones/iTouches.

Continue reading