First, you need to apply for one of the two iPhone Developer Programs. There is the Standard Program at $99 and there is an Enterprise Program priced at $299. I chose the Standard Program because I will be a single developer building iPhone applications and distributing them through the App Store. More information on the programs can be found at http://developer.apple.com/iphone/program/apply.html. Apply for the Program that best suits your situation and then wait for Apple to contact you with the appropriate Activation Code email. I received mine Activation Code within 24 hours after the completion of the application to the Developer Program. With the Activation Code in hand, I headed over to the iPhone Developer Portal at http://developer.apple.com/iphone/manage/overview/index.action. Use your Apple ID to login to the site. In the Team section, I completed the activation of the sole team member, myself. I then downloaded and read the Program Portal User Guide. This document gives step-by-step instructions on how to set up your development certificates, designate Apple devices for development, create App IDs for your iPhone apps, and create development provisioning profiles. The process goes pretty much by the book until the end. There are some differences with the screenshots contained in the PDF file and the version of Xcode that I am using (3.1.2). I did encounter problems initially when attempting to deploy my application onto my registered device. When I tried to install the app onto my device via Build and Go, the installation would fail. The documentation only mentions the Code Signing Identity in the application Target information page. You also need to change the Identifier field in the Properties of your Target information. The default value for this field is ${PRODUCT_NAME:identifier}. I changed mine, per my App ID, to com.pintailconsultingllc.${PRODUCT_NAME:identifier}. I also changed the Active Build Configuration from Debug to Release. Now clicking Build and Go properly installs the app onto my iPhone 3G device and I can run the app on real hardware. |