iPhone Development 101

iPhone 101

Code Tips



Note: This checklist is for Xcode 3.2. For building apps in Xcode 4.2, click here.

Before you can release a paid app to the App Store, you must agree to all of the paid app contracts, and submit your tax and bank routing info. This should be done in iTunes Connect. For best results you should fill this out before you even begin working on any apps, because it can take several weeks for the contracts to be approved by Apple.


1. Complete all of the coding and testing on your app.

2. Update the Info.plist file in your app.

  1. Set the bundle identifier (if you haven't already) to YourAppName. (Remove the com.apple.whatever stuff.) The Identifier should not contain spaces or funny characters - alphanumeric and dashes are ok.
  2. If you want your app to be named something different on the actual device than its name in Xcode, change the "Bundle display name" as well.
  3. Update the bundle version. If this is your first time submitting this app, the version number should probably be 1.0.
  4. Be sure the icon file is set.

3. Build the app for distribution.

4. Write a description for your app for the app store. The app upload page says the description should be 700 characters or less, but that limit doesn't seem to be enforced.

5. Choose a numeric SKU for your app. This can't be left blank, and it has to be a unique number for each of your apps. (I usually use YYMM, like 0902, but you can use whatever you want as long as it's a number.)

6. Assemble your screenshots. You'll need at least one primary screenshot, and up to four more secondary screenshots. Be sure they're the right size: 320 x 480 or 320 x 460 for standard resolution iPhone apps, 640 x 960 for high resolution. iPad screenshots should be 1024 x 768.

7. Prepare your iTunes artwork. This is a 512 x 512 pixel 72dpi JPEG. It should match your icon artwork as closely as possible - apps are sometimes rejected if these two images are dissimilar.

When you've got all that prepared, you're ready to set up your app in iTunes Connect.

iTunes Connect

When you log into developer.apple.com/iphone, there's a link to iTunes Connect on the right. Once you're logged into iTunes Connect, click on "Manage Your Applications", then "Add New Application".

The app details page asks for your app name, description, copyright info, version number, SKU, application URL and support URL and support e-mail address (all of these are required). The URLs you enter translate to:

iTunes Connect calls it: What it shows on your app's page in iTunes:
"Application URL" "CompanyName Web Site"
"Support URL" "Appname Support"

If this is your first time uploading an app to the app store, and you enrolled as an individual developer, you'll be asked if you want to set a Company Name. Think carefully about this - once you set it, you can NOT change it without calling Apple and going through their phone support line. If you set a company name then all of your apps will show it.

This is also where you should upload the iTunes artwork and screenshots.

Ratings: You'll be asked to rate your app by indicating whether it includes any offensive material.

Pricing and availability: this is where you set the price and release date for your app. You'll get a chance to review this after you select a pricing tier. The page should show a link to the pricing tiers, but if it doesn't show one initially, just set the price to anything and let it refresh. The link should show up then.

Tier1 - 0.99
Tier 2 - 1.99
Tier 3 - 2.99
Tier 4 - 3.99
Tier 5 - 4.99
Tier 6 - 5.99
And so on.

Release date: This defaults to the current date, but you can set it to a date in the future* if you like. When your app is approved, you'll want to log back into iTunes Connect and reset the release date to the approval date; that way the app will show up at the top of the new releases section of its category. If you fail to do this, then when your app gets approved it'll show up buried several pages down - not very desirable.

*if you're submitting an app UPDATE, however, you shouldn't touch the release date until you get word that your update has been approved. If you change the release date of an update to sometime in the future, then your CURRENT app will vanish from the app store!

Once you've finished setting up info on your new app, go to the app details page and click on the Ready to Upload Binary button.

Uploading Your App

To upload your app binary to Apple, use the Application Loader app that's part of the developer applications. (You can find it in Developer->Applications->Utilities on your mac.) The Loader will guide you through the upload steps. If you can't find your app in the pull-down of available apps to upload, be sure you changed the status to "Waiting for Upload" (by clicking on the Ready to Upload Binary button) in iTunes Connect.

Once your app is uploaded, the status will change from "Upload Received" to "Waiting for Review". Now you just have to wait for Apple to review and (hopefully) approve your app. This usually takes about a week, sometimes longer. If you log into the iOS Developer Center and go to the App Store Approval Process page, you'll find an App Store Review Status section that Apple keeps (more or less) updated with the percentage of apps that are approved within the past week.

While you're waiting for approval, you should set up a web page for your app.

After Approval

When your app is approved, you'll get an email saying your app is ready for sale. You should log back into iTunes Connect and change your app's availability date to today. This way your app will appear at the top of the "new releases" list in its category. You can only do this on the date your app was approved.

You can change most of the app details any time after your app is approved; if you want to re-word the description, or upload new screenshots, or change the price of your app, you can do so without having to go through the approval process again. The only time you'll have to wait for approval is when you submit an update (a new binary) to an app. Also, you can only change keywords or ratings when you upload a new binary.