Apple makes it difficult :). First I have to say that most of the submission steps can be performed within a browser but uploading your app will require you to have a Mac. Well that’s why I say that they make it difficult. If you are a pro then you may look at hackintosh if you don’t have Mac, but using hackintosh is out of context of this article.
This article applies to compiled ipa file, source can be anything such as Flex or XCode.
I will assume that you app is ready for submission i.e. your IPA File is distribution ready and you have tested your app thoroughly. I’ve prepared a checklist for Apple app submission as well. If you are interested you can read it http://jaspreetchahal.org/prerequisites-or-checklist-for-iphone-ipad-ipod-itunes-app-submission/
Just a little bit of insight on what’s required if you are just reading this for curiosity sake.
First up you will need an Apple iOS developer Account. You will need to spend $99/year to get that account. This account lets you use their provisioning portal for creating your app testing provisioning profile and distribution profile. It also lets you use iTunes Connect which is essential in maintaining your application. You can also check lots of resources that are only available to registered Apple developers such as Forums, latest iOS SDK etc. Again we are not going to discuss how to use your provisioning portal here that’s a separate topic.
I assume that you are now logged into your Apple Developer Center. Home screen should look like this [as of writing]
Click on iTunes connect. It will throw a login screen, just use your Developer login details to login to your iTunes connect portal. Once you are in your home screen will look like this.
In the picture above we are only interested in “Manage your Applications” part. Click on that link. you will get the screen below. On this screen we are interested in button labelled “Add new App” as shown below
Here you got three field. Please note that chose your App name carefully. The value entered here should be taken from App name in your descriptor file. You can put anything in SKU number. This is your reference to the internal database that you may maintain for all the Apps that you release.
Bundle ID will automatically appear in the drop down. You should have created a App ID from your provisioning portal and for that App ID your would have created a distribution profile against which you would have signed your App. If you have not done that and your IPA file is not ready for distribution this article will serve you no purpose I suppose. If you have compiled your App to an ipa file then fill up the values above and click Continue button. Once you click Continue button you will see the Screen below
On this window you tell apple couple of things.
- Availability date. [This is important if you got a publication or press release coming up and you would like to publish your App on a specific date. FYI: Apple can take many weeks to Approve your App. So be careful choosing this date]
- Price tier: What price your App will be available for. I am listing my App for Free so I’ve selected Free from the Drop down. Tier 85 is the maximum you can set for you App. Please choose this carefully. If your App only changes background color of your iPhone then Free is a better option :). You can Check “Discount for Educational Institutions” box if you want this app to be offered at a discount to educational institutions when they purchase multiple copies at once.
On this window you can also select what stores you would like to make this App available in. By default your App will be available in every country.
Click Continue button once you are done with above screen. You will get the screen below. I guess this is the most important screen in the whole submission process.
The most important things on this screen.
- Version number: Your App version number must be greater or equals 1.0. Apple do no accept beta versions. There are strong chance of rejection if your App version is say 0.01 or o.8 etc
- Choose the App category carefully.
- Put any information such as Logins etc under “Review Notes” so that Apple can try out your App without any hiccups.
- Upload 512×512 icon for your App
- Upload atleast 2 screenshots for iPhone and iPad touch and if your App is iPad only then atleast 2 screenshots of your app under iPad screenshot section. Click on little question mark to the right of the title to know what dimensions are acceptable.
Once you are done with above click “Save” button. Don’t worry Apple will not start reviewing your App at this moment because there is no binary uploaded for your App. Once you save your submission process, you will get this screen. This is the tricky part here.
On this screen click on View Details button just below your App Icon. You will get this
When you Click on “Ready to upload” button you will this screen. Click Continue.
Now if you were doing all of the above from windows machine its time to make a switch to a Mac machine because we are going to use Application Loader application in Mac.
If you don’t have Application Loader install then download it.
You should be able to search Application loader from Application browser as shown below.
Please read more about Application loader from the link below
Once you have that installed launch it and sign up with your iTunes Connect Account ID.
You will see the screen below
As you see that you App ID will automatically appear in the drop down menu. Select it and click next you’ll see screen below that shows the Application information.
Now choose your ipa file by clicking on the choose button. Locate your ipa file within the File explorer.
You will be cautioned that you are going to all an application as shown below
Click Send and wait. Do not close your window until your app gets uploaded. It can take a while so be patient.
once everything is finished uploading you will get this screen
and thats it. Your application status will now change to “Under review” and you should get an email confirming that.
Its Time to pray now 🙂 wait in between 5days to few weeks to hear back from Apple
I hope this helps