Documente Academic
Documente Profesional
Documente Cultură
Overview
In order distribute applications to all iOS devices, Apple requires apps to be published through the
iTunes App Store. This makes the iTunes App Store the one-stop shopping location for iOS
applications, as you are probably well aware. With over 500,000 applications in the store, developers
of many types of applications have been able to capitalize on the massive success of this single
point of distribution. The App Store is a turnkey solution, offering app developers both distribution
and payment systems.
The process of submitting an application to the App Store involves:
1. Creating a Distribution Provisioning Profile.
2. Using this profile to build your application.
3. Submitting your application through iTunes Connect.
In this article we will cover all the steps needed to provision, build, and submit an application for App
Store distribution.
distribution build. Lets go through all the steps involved to create a distribution build.
For App Store distribution, you need to create an Application ID and a distribution profile for the
application in the provisioning portal. Youll associate the distribution profile with the Application ID
you create.
Follow these steps to create an Application ID, a distribution profile, and a production certificate:
1. In the Member Center, select Certificates, Identifiers, and Profiles, then select Identifiers in the
left-hand column under "iOS Apps". This will show a list of all identifiers associated with your
developer or your team account. Click the "+" in the top right to create a new ID.
2. Enter a Description, enabled Services, Prefix/Bundle Seed ID (use the Team Bundle Seed ID),
and Suffix/Bundle Identifier, and then click Submit. An example for an application called
MonkeySpace is shown below:
Opening the App ID from the list of IDs should bright up the following information:
Next, select Provisioning Profiles in the left-hand pane. This will bring up a list of all the
Provisioning profiles associated with your developer account or your team account. Click the
"+" in the top right to add a new profile
In the first panel, choose App Store under Distribution as as the Type for your Provisioning
Profile:
Next, select the App ID created for this application, and then click Submit:
The completed iOS Distribution Provisioning Profile screen for the MonkeySpace app is
shown. The completed provisioning profile can be downloaded and installed when it is created
by clicking the download button in the screenshot shown below:
Additionally the profile can be downloaded any time by opening it from the provisioning profile
list:
After your provisioning profile has downloaded, drag-drop the downloaded profile file onto the
Xcode icon in the Dock to install it.
If you do not yet have a Production Certificate associated with your account, you need to
generate one. Navigate to Certificates, and click the "+" to generate a new Certificate.
For the Type, select App Store and Ad Hoc:
The Portal will provide instructions for how to generate a Certificate. Open Keychain Access;
from the main menu, choose Certificate Assistant... and Request Certificate from a Certificate
Authority...:
With the production provisioning profile created and installed, you can now use it to create a
distribution build for App Store publication, as shown in the next section.
Options
dialog.
(Automatic)
Provisioning profile
7. For an application distributed in the App Store, you should also include application icons. See
the document Working with Images for more information.
8. Click OK in the Project Options dialog.
9. In Xamarin Studio, set the Build Target drop-down list to the newly created AppStore|iPhone
configuration in the top toolbar, as shown below:
10. Select Build > Build All from the main menu to build the application. You should always
ensure that the application builds without errors before creating an Archive to distribute.
If the application builds successfully you are ready to upload it to the App Store, which is the topic of
the next section.
iTunes Connect
To deploy an application to the App Store, it must be configured in iTunes Connect (if you are
building for Ad-hoc or Enterprise deployment this step can be skipped). See the Creating Your App
Record in iTunes Connect for instructions. Once the application has been set-up, the application
page will appear as shown:
to Upload Binary
The final screen indicates that iTunes Connect is ready for the application bundle to be uploaded.
The text on the screen suggests using Application Loader, however the bundle can also be uploaded
via the Archive tool.
for Upload
The process to deploy an app using the Archive tool is discussed in the following sections.
Xamarin Studio
A Distribution profile should be used, otherwise the tool cant sign the code and it will not be able to
be installed onto non-test devices.
Xamarin Studio will attempt to choose the correct Provisioning profile based on the Bundle ID and
the developers Identity; however you can manually select a specific Provisioning profile via the
menu item Project > Options > iPhone Bundle Signing, as shown here:
> Archive
menu item.
The status bar will display the build progress. When complete, the Archives tab will be displayed.
The Archives tab displays a list of archived applications. Click on an app to see application details
and the individual archives that have been built. Comments can be added to the archive (eg. make a
note of why the archive was created, such as for a beta test release, or an App Store production
deployment). Comments are useful because it is a good idea to keep archives (especially those
released to the App Store or an Enterprise deployment) because it will allow you to symbolicate.
Once the archive has been created in Xamarin Studio, switch to Xcode for deployment options.
Xcode Organizer
Start Xcode and then open the Organizer from the Window menu.
In the Organizer, choose the Archives tab. This screen shows the same list of applications on the left
as the Archives tab in Xamarin Studio, and provides options to validate and distribute an archive:
The following steps apply to both validation and distribution (except where noted). Both buttons start
a wizard that guides you through the process. The first step is to choose which type of distribution:
For App Store submissions Xcode needs to login to iTunes Connect. Enter your Apple ID and
password:
Xcode retrieves a list of applications configured in iTunes Connect with a status of Waiting for
Binary. Choose the correct application from the list:
Validation
If you had chosen Validate then this is the result you hope to see:
Distribution
If you are in the process of distributing your app, it will then be uploaded to iTunes Connect:
Once the upload is complete, this message will appear to confirm that the application submission
Now you just wait for Apples review team to approve your application and publish it on the App
Store!
iTunes Connect
If you chose to distribute your app, the status in iTunes Connect should now show that it is Waiting
for Review (it may temporarily read Upload Received while it is processed):
Subsequent versions
When new versions of an application are built and archived they will be added to the list in the
Archives tab. Adding a comment to each archive will help keep track of what each bundle was for.
This screenshot shows the archive tab after a subsequent build has been archived:
Errors
If there is a problem with the provisioning profiles on your computer the following message will
appear during the validation or distribution process. Use the buttons to update your identity and
provisioning profiles, or visit the iOS Provisioning Portal directly to download the correct certificates
and provisioning profiles.
Summary
This article presented a step-by-step guide to configuring, building, and submitting an application for
App Store publication. First, it covered the steps needed to create and install a distribution
provisioning profile. Next, it walked through how to use Xamarin Studio to create a distribution build.
Finally, it showed you how to use iTunes Connect and the Xcode Archive Tool to submit an
application to the App Store.