A beginner's guide to submitting an App to the App Store

DevToolsGuy / Monday, February 2, 2015

Since Apple successfully unleashed their trailblazing App Store in 2008, other technology firms have taken similar measures with their own software. The App Store allows an iOS owner to customize their device in whatever direction takes their fancy, due to the incredible range of apps available to users. Today, we’re going to be taking a look at how to push apps through the approval process. This is not necessarily straightforward and can be somewhat complicated.

Developing the application

To get started, you’ll need to get a subscription to the Apple iOS Developer program, priced at $99 per year, and an actual iOS device. This is preferable to using the iOS emulator as some bugs are likely to show up only when running on iOS devices. There are several things to do before you’re ready to submit your work:


  1. Request Certificates for your app: Certificates are used to identify you and your app. You’ll need two (1 x development, 1 x distribution). These are generated in an application known as Xcode, the iOS development IDE.
  2. Configure device for development and add the device to the member centre: Once the certificates have been generated, you’ll then plug your device into your computer. While this typically triggers an iTunes back-up / new device prompt, this isn’t desired. Instead, you’ll want to go to the XCode Organiser window (SHIFT+CMD+2) to register your device for development. 
  3. Create a provisioning profile: This step involves logging into the iOS Provisioning Portal to create a provisioning profile for your application. 
  4. Make sure your app is set to use that Xcode provisioning profile: You need to ensure your Xcode project bundle ID directly corresponds to the bundle ID that you specified when you created your App ID.
  5. Deploy app to the device: If all has gone well, you’ll see the name of your device in the list of deployable targets.

The creation of a distribution provisioning profile

The creation of a distribution provisioning profile allows multiple development certificates to be granted, which in turns allows multiple developers to create a build. With the iOS distribution provisioning profile, you’re only permitted one distribution certificate which will be the sole signing identity used to code sign your app at the archive generation phase. The archive is the name for the overall package that you end up submitting to the App Store.

The distribution profile is generated by logging into iOS Developer Provisioning Portal and navigating to the Distribution Provisioning Profiles section. Choose App Store as the certificate type, then your App ID from the drop down list. Click Continue to move on. On the next screen, select the available distribution certificate and proceed to generate it, download it and installing it to your provisioning profile.

Building an archive of your App using this profile

This stage involves the creation of an archive within Xcode, which we’re going to submit for certification. This is where you’re going to have to check several things, namely that both the App Review Guidelines have been adhered to and that you’ve not made any common mistakes, as seen here.

Once you’re confident your work meets all guidelines, you can proceed. On the root node of the project navigate to the project settings and look for the Build Settings Tab. In here, look for Code Signing → iOS Distribution. Change the deployment to iOS Device and then navigate to Product Menu Item look for the Archive option. This results in the creation of an archive.

The creation of an App listing in iTunes Connect

Now we move onto a brand new facility, which is the Apple iTunes Connect. This is another facility that you’re granted access to via the Apple iOS Developer, which lets you view various reports on your app. There are several options here, so for ease of use, navigate to Manage Your Apps → Add New App.

Select the bundle ID that matches the app you want to submit and give it a name. You can (and should) fill out additional information here, such as App Version Information, relevant metadata, Contact info, EULA and Art Assets and so on. Once all this has been entered, click the save button and you’ll see that the status change of your app has now altered to “Waiting for Upload.”

Submission of your application for final certification through Xcode

Finally, head back to Xcode and open the organizer via SHIFT+CMD+2, and then navigate to the Archives tab to find your earlier archive. Click on the Distribute button, follow through the validation and use your developer credentials to log into iTunes Connect. Assuming all is well, your archive will now be uploaded for certification and you’ll see that the status label has changed to “Waiting for Review.”

For those submitting apps for the first time, this can take up to a week. You’ll eventually receive an email from the review team when the status changes. If the app fails the review process you’ll typically be informed why.

A multistep process

As we’ve seen, the certification process can be tricky, both from having to have an iOS device, to managing various profiles and logging into websites whilst using Xcode. Not only is the submission process a multistep process, developers need to be aware of the Apple Review Guidelines.

The App Review Guideline Document itself is a “living document” that can be modified at any time. They essentially use it to prevent concerns with explicit material, violence, legal issues, and user experience. Apple review teams tend to check each App against these guidelines before approving it for sale and inclusion on the App Store.

It’s not necessarily the most straightforward process, but Apple’s desire to ensure quality is understandable and by following these basic steps you’ll be uploading Apps in no time at all.