On-Device Testing w/out Paying $99 (Updated on 4-14-2010)

Post Updated 4-14-2010

Fourth update: This works fine on the latest Xcode for iPhone OS 4.0 beta (3.2.3 pre-release) – see notes on the bottom!

IMG_0061Want to develop and test applications ON your actual device, rather than testing it in the simulator without paying a dime? If so, you’re in the right place!

The process is EXTREMELY easy, and takes less than a minute! This has been working on all versions of Xcode 3.1.4, 3.2.2, and the latest 3.2.3 beta (for iPhone OS 4.0).

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.

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.

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

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.

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

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.

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

UPDATE3!

This guide works on the latest Xcode 3.2.2 (pre-release) beta for iPhone OS 3.2.

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

UPDATE4! 4-14-2010

This guide works on the latest Xcode 3.2.3 (pre-release) beta for iPhone OS 4.0. BUT, don’t update your device to 4.0. It has to be jailbroken if you want to transfer your apps and whatnot (see update2).

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

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.
  • Klondike

    Lol $pple. Too bad you can’t sell it now.

  • Klondike

    Lol $pple. Too bad you can’t sell it now.

  • Pingback: Twitted by techvik

  • Pingback: uberVU - social comments

  • 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.

  • 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.

  • http://gumballtech.com/ brian

    Apple deserves the ‘$’ in their name more than any other company out there. Microsoft deserves it the least. I like ‘$pple’.

  • http://gumballtech.com brian

    Apple deserves the ‘$’ in their name more than any other company out there. Microsoft deserves it the least. I like ‘$pple’.

  • 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.

  • 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.

  • 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

  • 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

  • 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.

  • 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.

  • http://gumballtech.com/ brian

    You need to be jailbroken, and the installd patch needs to be installed.

  • http://gumballtech.com brian

    You need to be jailbroken, and the installd patch needs to be installed.

  • http://gumballtech.com/ brian

    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.

  • http://gumballtech.com brian

    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.

  • http://gumballtech.com/ brian

    Updated the post. See the bold update in the post to figure out what you need to do.

  • http://gumballtech.com brian

    Updated the post. See the bold update in the post to figure out what you need to do.

  • Klondike

    Micro$oft got the “$” because of xbox, not so much Windows.

  • Klondike

    Micro$oft got the “$” because of xbox, not so much Windows.

  • http://gumballtech.com/ brian

    Why? It’s doing so well. I guess Apple Fanboy$ don’t like it when competitors are doing good.

  • http://gumballtech.com brian

    Why? It’s doing so well. I guess Apple Fanboy$ don’t like it when competitors are doing good.

  • mukraker

    the iphone dont accept my certificate.

    do i need do add something to my xcode project?
    e.g. “Bundle identifier”

  • mukraker

    the iphone dont accept my certificate.

    do i need do add something to my xcode project?
    e.g. “Bundle identifier”

  • http://gumballtech.com/ brian

    Nope.

    If all of the instructions were carefully followed, then you’d had been good to go.

  • http://gumballtech.com brian

    Nope.

    If all of the instructions were carefully followed, then you’d had been good to go.

  • mukraker

    damn it doenst work

  • mukraker

    damn it doenst work

  • mukraker

    do i need to configure my jailbrocken ipod touch somehow?

  • mukraker

    do i need to configure my jailbrocken ipod touch somehow?

  • 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

    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

  • 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.

  • 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.

  • http://gumballtech.com/ brian

    Yup, that’ll work.

  • http://gumballtech.com brian

    Yup, that’ll work.

  • 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

  • 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

  • http://gumballtech.com/ brian

    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’.

  • http://gumballtech.com brian

    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’.

  • 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.

  • 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.

  • http://gumballtech.com/ brian

    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-development/28403-error-launching-remote-program-failed-get-task-process-1533-a.html
    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.

  • http://gumballtech.com brian

    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-development/28403-error-launching-remote-program-failed-get-task-process-1533-a.html
    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.

  • http://twitter.com/theOneGenius Christian S.

    think it works!

  • 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 ;)

  • http://gumballtech.com brian

    Email me with your AIM or GTalk (or something else) and I'll play with it: contact@gumballtech.com

  • argumen

    hi, I'll to know if someone has tried this on xcode 3.1.4 and got it working, I'll really appreciate any help.
    Thanks