Developing Application for iPhone OS
December 14th, 2008 by Mojtaba

Few days ago I found an interesting article (in www.alexwhittemore.com) about “How to developing application for the iPhone (Jailbroken iPhone!). I can’t test it because I love my PC and don’t want to turn it to a MAC (Yes it’s possible to install MAC OS X on your own PC). Below you can find Step by Step guide regarding that!

Requirement

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 iPhones/iPod Touches.

The Process

  • You will need a signing identity. We’ll break the check such that it doesn’t have to be an official ADC one, so you can make your own using this guide from apple. What you are doing in this step is creating a “Self-Signing Identity.”
  • Break signature checks on your phone. Also known as Mobileinstallation patch! Please read our famous guide (Method 3 & 4) in order to patch the mobileinstallation!
  • (Updated 12/24/08) Open your project and go to (menu) Project > Edit Project Settings. In the list of properties, find “Code Signing Identity” > “Any iPhone OS Device” and click in the empty box. Assuming there are no entries in the menu, click “Other” and type in the same name you used to generate the code signing certificate above in step (2). For example: in step 2, I used the name “iPhone Developer” and that is exactly what I put in this field. Hit OK and close that settings window. This setting should persist in future projects, and you shouldn’t have to do this again (whereas, for example, you’ll have to repeat step 6 for each project).
  • Make a backup of the file /Developer/Platforms/iPhoneOS.platform/Info.plist then edit it to include the bit in red:

<key>NATIVE_ARCH</key>
<string>armv6</string>
<key>PLIST_FILE_OUTPUT_FORMAT</key>
<string>binary</string>
<key>PROVISIONING_PROFILE_ALLOWED</key>
<string>NO</string>
<key>PROVISIONING_PROFILE_REQUIRED</key>
<string>NO</string>

<key>SDKROOT</key>
<string>iphoneos2.2</string>

  • Add the following lines to the Info.plist for your project

<key>SignerIdentity</key>
<string>Apple iPhone OS Application Signing</string>

UPDATE 12/24/08: I realized after a few comments from other blogs that I totally forgot to add the step where you actually USE the code signing certificate you created. I believe that step 5 is correct, so please re-try this. Otherwise, the first post above from iphonesdkdev.blogspot.com should have, somewhere inside, what you need. If the procedure above doesn’t work, please try looking around that post and let me know what step I need to add. It’s difficult to recreate exactly what I did now that my setup works.

UPDATE 1/14/2009: One of the commenters pointed out a key point: After you’ve generated the certificate and configured xcode, you MAY have to restart to get things working, else you may get an “Codesign error: no certificate for identifier “iPhone Dev” was found in your keychain” error.  If a restart doesn’t fix it, see my comment below following his.

Information in this post came from the following places:



3 Responses  
  • mojtabacazi writes:
    May 22nd, 2009 at 1:56 PM

    @Lu – self-signed identity used by XCode!

  • Ben H writes:
    December 14th, 2008 at 9:16 PM

    Wow, thank you so much!

  • Lu writes:
    December 14th, 2008 at 3:02 PM

    Thanks for your work!

    At what point in the process do I actually use the “self-signed identity”?


Leave a Reply


XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>




 
SIDEBAR
»
S
I
D
E
B
A
R
«
»  Substance:WordPress   »  Style:Ahren Ahimsa
© Copyright cazisoft.com . All right reserved - This website is in not affiliated with Apple Inc. or Cisco · All Trademarks are owned by their respected owners.