iOSDeveloperSelfSign

Apple gives iOS developers a limited number (100) of beta slots per year. Each slot is assigned to a specific iOS device, so if someone wants to test on muliple devices, or someone replaces their existing device with a new one, it takes up another slot. In addition to that issue, it's also a big pain for me to collect device identifiers and add them to the beta list in the first place. So that's why I never seem to have any beta slots open.

But!

The good news is that if you are already signed up as an iOS developer ($100) per year from Apple, then you can self sign my beta's with your own developer certificate and test them that way. Here's how you do that: (Thank you Matt Stevens and Tuaw)

  1. You need the .app for this to work, to get that out of a .ipa change the .ipa's extension to .zip and extract it. You should get a folder called Payload with the .app inside.

  2. Next fire up Terminal, navigate to the location of the .app, and run:

    export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate

    or (with newer versions of Xcode)

    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate

    Followed by:

    codesign -f -s "iPhone Developer" PlainText.app

    If successful codesign should say PlainText.app: replacing existing signature.

  3. To install the newly signed app open the Organizer window in Xcode and drag the .app bundle onto your connected device in the source list. The status light will turn orange as it installs the app, once it's green again you're ready to go.