Before we get started with submitting our application to the store, we need to review a short checklist to make sure you are ready to do so. It is a pain to reach a point in the process and realize you have something missing or haven't done something quite right. Additionally, there are a few requirements that will need to be met by a designer or the marketing team, which should not necessarily be left up to the developer.
Make sure you have done the following prior to beginning with the submission:
Info.plist
file is completely filled out. This includes splash screen images, app icons, app name, and other settings that need to be filled out for advanced features. Note that the app name here is what is displayed under the application icon. It can be differ from the App Store name, and unlike the App Store name, it does not have to be unique from all the other apps in the store.Once you have double-checked the preceding checklist, we can begin the process for submission. Our first step will be to create a provisioning profile for App Store distribution.
Let's begin creating a new provisioning profile by carrying out the following steps:
MyAppAppStore
. Click on Generate.For our next set of steps, we will start filling out the details of your application to be displayed on the Apple App Store.
We can begin by performing the following set of steps to set up your app in iTunes Connect:
There are a lot of optional fields too. Make sure you fill out Review Notes or Demo Account Information if there is any additional information the app review team will require to review your application. When complete, you will see your application with the status Prepare for Upload as shown the in the following screenshot:
Now we need to notify iTunes Connect that we are ready to upload our application. Click on View Details and then on Ready to Upload Binary. You must then answer a few questions to comply with international export laws. The status of your application will then change to Waiting for Upload, and you'll receive a confirmation e-mail.
Our last step for App Store submission is to provide the binary file containing our application to the store. We need to create the Release build of our application, signed with the distribution provisioning profile we created earlier in this chapter.
Xamarin Studio makes this very simple. We can configure the build as follows:
After a few moments, Xamarin Studio will open the archived builds menu which looks like what is shown in the following screenshot:
The process creates a xarchive
file that is stored in ~/Library/Developer/Xcode/Archives
. The Validate… button will check your archive for any potential errors that could occur during upload, while Distribute… will actually submit the application to the store. Sadly, at the time of writing this book, the Distribute… button merely launches the Application Loader application, which cannot upload xarchive
files. Until Xamarin works this out, you can access these options from the archive in Xcode under Window | Organizer in the Archives tab.
Go ahead and locate the archive in Xcode; you may have to restart Xcode if it does not appear and perform the following steps:
After several moments, depending on the size of your application, you will get a confirmation screen and the status of your application will change to Upload Received. The following screenshot shows what a confirmation screen looks like:
After a few minutes, you will receive an e-mail confirmation that the upload was received and the status of your application will change to Waiting for Review. At this point, you have no control on the status of your application while it's waiting in line to be reviewed by an Apple employee. This can take one to two weeks, depending on the current workload of apps to be reviewed and the time of year. Updates will also go through this same process, but the wait time is generally a bit shorter than a new app submission.
Luckily, there are a few situations where you can fast track this process. If you navigate to https://developer.apple.com/appstore/contact/?topic=expedite, you can request an expedited app review. Your issue must either be a critical bug fix or a time-sensitive event related to your application. Apple doesn't guarantee accepting an expedite request, but it can be a lifesaver in times of need.
Additionally, if something goes wrong with a build you submitted, you can cancel the submission by going to Manage Your Apps from the main dashboard, then selecting your application and clicking on View Details on the version you want to edit. Under Version Information | Binary Details, you can select Reject this Binary to cancel the submission. In situations where you discover a bug after submission, this allows you to upload a new build in its place. The following screenshot shows the binary file details:
3.145.74.54