By Joe Ward
Joe Ward
1 July 2011


Prerequisite knowledge

Familiarity with ActionScript 3 and its object-oriented features as well as familiarity with Flash application development.

User level


Required products

Getting your application accepted into the Apple App Store can be a confusing and difficult process to navigate. Developers often run in to common pitfalls that add time to their submission cycle. Use this guide to understand the steps you can take to make your submission as pain-free as possible.

General submission steps

Using Adobe AIR for iOS support in Adobe Flash Professional CS5.5 or Adobe Flash Builder 4.5 to get your content to the Apple App Store involves three main steps:
  1. First, you need to build your app!
  2. Once you have your application built and ready to submit, you'll be using two sections of the iOS Dev Center. The first site is the Provisioning Portal, with which you should already be familiar from when you created your development certificates and provisioning profiles.
  3. After you have the correct certificates and provisioning profiles, you will then use the second section, iTunes Connect, along with the Apple Application Loader utility, to prepare your app and submit it to Apple.
Note: The Application Loader utility is available only for Mac OS X 10.5.3 or later. In Windows, you can run Mac OS X inside a virtual machine.

Getting your app ready

Before you start to package your AIR app for submission, make sure you take care of some key considerations to ensure your users have the best experience possible. These considerations fall generally into two categories: performance and usability. To make sure you have built a high-performing app, test your application on a variety of devices.
Typically, the iPod touch is faster than an iPhone in the same class of hardware. For example, the iPod touch 32GB and iPod touch 64GB are faster than the iPhone 3GS, even though they're in the same class of hardware. The iPhone 4 and the iPad both share a common processor, which are the fastest among all the iOS devices. (For more information, see Scott Petersen's article, Optimizing content for Apple iOS devices.)
The second key consideration to ensure you have a great app is usability. There are many similarities as well as differences between building an AIR app for an iOS device and building an AIR app for the desktop, or even a SWF for the web. Even more so than on the web, users spend only a few minutes in your app and are quick to leave it for something else. Your app should expect to be shut down by the iOS at any time and for any reason. This is exacerbated on iOS devices because of incoming calls or SMSs and can happen for a variety of reasons, including low memory conditions. So be sure to save your state often. If you're building a puzzle game, make sure you save the user's state so the user doesn't have to replay the puzzle halfway through. If you're building a RPG, save the last trading state of the app. For examples of iOS apps that do this, check out Chroma Circuit or Trading Stuff.
Another thing to consider when building your AIR apps for iOS—that is different from web apps—is how to use the finger as a pointing device. The finger is quite a bit different than a mouse. No matter how hard you try, your finger is an inaccurate device compared to a mouse. Even when it seems like it's tapping in the same place, the finger often moves around slightly. Try to ensure that your app takes that fact in to account, and make your hit targets much larger than you would in a web app.
Once you've built a well-performing app that provides your user with a great experience, you're ready to submit it to the Apple App Store.

Distribution certificates

Thus far, you have been testing and deploying to devices using a development certificate and a development provisioning profile. These two are used for your development environment. For deploying apps to the App Store, you need a distribution certificate and a distribution provisioning profile.
To acquire the distribution certificate:
  1. Log in to the iOS Dev Center.
  2. Navigate to the iOS Provisioning Portal.
  3. Click the Distribution tab.
  4. Follow the instructions to create a new certificate that will be used for distribution. The process is identical to that which you used to create your development certificate.
  5. After the certificate is issued, download the .cer file to your computer. Create a P12 file from your private key and certificate (see Converting a developer certificate into a P12 keystore file in the Building Adobe AIR Applications guide).
Once you have the distribution certificate, you will need to create a distribution provisioning profile:
  1. Go to the Provisioning section of the iOS Provisioning Portal.
  2. Select the Distribution tab.
  3. Create a profile for the App Store distribution method.
  4. After the distribution provisioning profile is created, download the .mobileprovision file to your computer. Keep this file in a handy location for later.
Once you have your new distribution certificate and your distribution provisioning profile, you will need to rebuild your application:
In Flash Builder 4.5:
  1. Click the Export Release Build button.
  2. Under the Digital Signature tab of the Packaging Settings page, select the distribution certificate and provisioning file.
  3. Under Package type, choose the "Final release package for Apple App store" option.
In Flash Professional CS5.5:
  1. On the Deployment tab of the AIR for iOS dialog box, change the certificates you use from your development certificates to your new distribution certificates.
  2. In the same dialog box, make sure you point to the .mobileprovision file you downloaded earlier.
  3. Under iOS deployment type, make sure that you select "Deployment – Apple App Store".
Skipping any of these steps when you build an app for deployment often causes an app to get rejected, so make sure all the right certificates and provisioning files are properly included.

Images and icons

Apple requires that your application have an application icon, App Store icon, and launch image:
  • Application icons should be supplied as PNG files in the following sizes to support the currently available iOS devices: 57 × 57 pixels, 72 × 72 pixels, and 114 × 114 pixels. One additional size, 29 × 29 pixels, is used for Spotlight search results on the device, and is optional. These icons can all be specified on the Icons tab of the AIR for iOS Settings dialog box in Flash Professional or in the AIR application descriptor file in Flash Builder.
  • App Store icons are 512 × 512 pixels. For development builds, this icon is included in the application package and is referenced in the publish settings or application descriptor file. However, you should not include it as part of the application for the final release. The App Store icon for the final release is uploaded separately using the iTunes Connect website.
  • Launch images are included in the root directory of the application package but are not referenced in the publish settings or application descriptor. iOS loads the correct image based on the filename. The name will be a variation of Default.png. iOS chooses the variant depending on the device and how the application is invoked. The most effective way to take advantage of this iOS feature is to use it as a way to make a perceived performance boost to your app. Use the launch image to make your app appear to load faster. In most cases, it should be the same as the first screen of your application or a splash screen. Simply taking a screenshot of your app at startup often will be sufficient as your launch image. Another way is to export the background of your app from Flash Professional and save that as Default.png.
As you design your icons, you should make them appear as flat square icons without the iOS half-circle gleam (or glossy, round beveling) effect, as this is automatically added by the iOS. If you desire to have a flat icon without the gleam, you can add a flag to a custom application.xml file that informs the iOS to not draw the gleam. For more information, consult the Application Icons and Application Launch Images sections of the iOS Application Programming Guide in the iOS Reference Library. Additional information is included in the Application icons section of the Building Adobe AIR Applications guide.

Submitting the app to iTunes Connect

Once you've prepared your iPhone Application (.ipa) file, you'll need to fill out the required forms on the iTunes Connect site to submit the application to Apple. In filling out the information, be as transparent as possible to Apple, including any demo accounts that might be needed to run your app. Because the Apple reviewers must be able to verify your application, providing the information required ahead of time will help your application get through the review process more quickly. Note that Apple's policy stipulates that your app's keywords cannot contain your app's name.
To submit the app:
  1. Navigate to the iTunes Connect area of the iOS Dev Center.
  2. Go to the Manage Your Apps page and click Add New App.
  3. Fill out the forms describing your company and application.
  4. On the appropriate form, upload the 512 × 512 pixel icon and your application screenshots.
  5. Save the app description.
  6. Back on the Manage Your Apps page, select the app description you just created and click the Ready to Upload Binary button.
  7. Fill out the Export compliance form.
Your app should now be in a "Waiting for upload" state. Complete the rest of the process with the Application Loader utility.
Note: The Application Loader utility is available only for Mac OS X 10.5.3 or later. In Windows, you can run Mac OS X inside a virtual machine.
  1. Unzip the app IPA file (change the extension to .zip).
  2. Locate the APP file within the Payload folder and compress the APP file to create a new ZIP archive.
  3. Use the Application Loader to upload the compressed APP file to iTunes Connect.
The Manage Your Apps page of iTunes Connect should now list an updated status for your application. See the iTunes Connect Developer Guide (PDF), available from the iTunes Connect website, for information about the application statuses.

Where to go from here

I hope that the tips provided here will help you build an application that can be submitted to the App Store and go through the Apple approval process without a hitch. Check out the resources on the Apple iOS topic page to learn more about building mobile apps for iOS devices.