On-Device Testing w/out Paying $99 (Updated 3x)

Post Updated!! THRICE!!

Third update: This works fine on the latest Xcode for iPhone OS 3.2 beta (3.2.2 pre-release)

IMG_0061Well, it took a very long time to figure out, and required downloading the iPhone SDK for FW 3.2 beta (v3.2.2 pre-release) TWICE, but none of that stuff was actually required!!

The process is EXTREMELY easy, and takes less than a minute! This was done using the latest iPhone SDK for 3.1.2 (v3.2.1) on 10.6.2 (Snow Leopard).

You must first make a ‘pwned provisioning profile’, which only needs to be done once. Make sure Xcode isn’t open. To do this:

  1. Open up Keychain Access in Applications>Utilities.
  2. Go to Keychain Access>Certificate Assistant>Create a Certificate.
  3. For ‘Name’, type: iPhone Pwned Developer
  4. For ‘Identity Type’, leave it as ‘Self Signed Root’.
  5. For ‘Certificate Type’, choose ‘Code Signing’.
  6. Check the box for ‘Let me override defaults’.
  7. Click on Continue, and in the popup box that comes up.
  8. Type in any number under ‘Serial Number’.
  9. Leave ‘Validity Period (days)’ alone.
  10. Click on Continue.
  11. Fill in the details with whatever you want (not really necessary).
  12. Click on Continue.
  13. Click on Continue for the rest of the dialog boxes.

If successfully created, the last screen that shows up should say ‘Your certificate has ben successfully created.”. Click on the Done button, and close out of Keychain Access.

===============

UPDATE!

Open up your project settings in Xcode (Project>Edit Project Settings), go to the Build tab, and under ‘Code Signing’, extend ‘Code Signing Identity’, and choose ‘iPhone Pwned Developer’, which should be the name of the certificate you just made above.

===============

Now comes the next step, which is to edit the Info.plist for the iPhoneOS.platform container:

  1. Open /Developer/Platforms/iPhoneOS.platform/Info.plist with Property List Editor.
  2. Look for all ‘XCiPhoneOSCodeSignContext’ VALUES. Replace that with ‘XCCodeSignContext’. There should be two or three to replace.
  3. Save the file.
  4. Restart Xcode, and build your app for a device.

===============

UPDATE2!

You must have the installd patch installed through Cydia on your jailbroken device. You can add the cydia.hackulo.us repo (Manage>Sources>Edit>Add), and install AppSync 3.1.

===============

You should now be running your app on your device, and, oh yeah, you didn’t pay $pple their $99!

You can leave a response, or trackback from your own site.
  • think it works!
  • mukraker
    Make sure you have enabled your device to be used for developing in Windows>Organizer.
    -> I see my device and I can install apps? Are you talking about a checkbox or anything else?

    Also, in your Xcode window, in the dropdown on the left, choose ‘iPhone Device 3.1.2 (Base SDK)’ and ‘Release’ instead of ‘Debug’.
    -> Ok I switched that. But still the same error.
  • No. Window>Organizer. If there's a box that says 'Use For Development' there, then click on it.

    A quick Google search of your error came up with this: http://www.iphonedevsdk.com/forum/iphone-sdk-de...
    Recreate the 'Pwned Provisioning Profile'.

    Or, delete it from the certificate app, remake it, then follow the instructions on the post again.

    If you have iChat or want to get TeamViewer, I can do it all for you.
  • nx3d
    hi. i have xcode 3.1.4 and still getting error "The identity used to sign the executable is no longer valid."
    have teamviewer. plz hlp ;)
  • Email me with your AIM or GTalk (or something else) and I'll play with it: contact@gumballtech.com
  • mukraker
    Thank, that'll work.

    BUT I GOT THIS ERROR:
    Error launching remote program: failed to get the task for process 1034.
    Error from Debugger: The Programm beeing debugged is not being rung
  • Make sure you have enabled your device to be used for developing in Windows>Organizer.

    Also, in your Xcode window, in the dropdown on the left, choose 'iPhone Device 3.1.2 (Base SDK)' and 'Release' instead of 'Debug'.
  • Cralz
    I did this with mine, and I got the same error...

    Just to be sure, AppSync (from hackulous) is the patch I need correct? I am almost 100% sure that it is, but I am just checking.

    Otherwise, everything else I did correctly.
  • Yup, that'll work.
  • mukraker
    The error I got when i click build and run “The identity used to sign the executable is no longer valid."

    What about this comment "You need to be jailbroken, and the installd patch needs to be installed."

    I just got a jailbrocken ipodTouch
  • mukraker
    do i need to configure my jailbrocken ipod touch somehow?
  • mukraker
    damn it doenst work
  • mukraker
    the iphone dont accept my certificate.

    do i need do add something to my xcode project?
    e.g. "Bundle identifier"
  • Nope.

    If all of the instructions were carefully followed, then you'd had been good to go.
  • Klondike
    Micro$oft got the "$" because of xbox, not so much Windows.
  • Why? It's doing so well. I guess Apple Fanboy$ don't like it when competitors are doing good.
  • Yasser
    @iphonedev
    I jailbreaked my ipod to test it and got the same error as you.
    I think this is because the iPhone Developer certificate isn't installed on a jailbreaked device.
    I'm not sure, so if anyone has more information, please let us know.

    The error I got when I used it non-jailbroken was "The identity used to sign the executable is no longer valid."
    I don't know why this is, please help me out here.
  • Updated the post. See the bold update in the post to figure out what you need to do.
  • iphonedev
    I'm able to build app for device following your instructions.
    But when I click "build & go", I got:

    Error Starting Executable

    No provisioned iPhone OS device is connected.

    any idea on how to fix this?

    Thanks
  • Did you do the part that talks about making the pwned provisioning profile?

    Updated the post. See the bold update in the post to figure out what you need to do.
  • Yasser
    It's doesn't work for me.
    Do I need a jailbroken iPod touch or will it also work with a non-jailbroken device.
    Because if it don't I know what my problem is.
  • You need to be jailbroken, and the installd patch needs to be installed.
  • alnandr
    Now you pretty much only need to pay the $99 if you want your app published on the App Store. Otherwise if you're making jailbroken apps or selling them in the 1000%+ faster revenue Cydia Store, you don't have to pay a single fee to Apple.

    P.S : A $ doesn't look good on the word apple. Leave that shit to Micro$oft.
  • Apple deserves the '$' in their name more than any other company out there. Microsoft deserves it the least. I like '$pple'.
  • Klondike
    Lol $pple. Too bad you can't sell it now.
blog comments powered by Disqus
Powered by WordPress | Shop LG Cell Phones Online. | Thanks to MMORPG, Fat burning furnace and Homes for Sale