Author: Triffort Admin
So you’ve programmed your first iOS app and you want to get it uploaded and submitted to the iTunes store? Well, as I found out, it’s not quite as easy as it sounds. The latest XCode 4.5 development tools from Apple have certainly streamlined the process, but it’s still a daunting task your first time around.
This is a very in-depth topic, and I can’t possibly write a tutorial that will cover 100% of cases or every problem you might come up against. What I can do is give an overview of the entire process so you have an idea where you’re getting stuck; some tips that might help you out on the way; and some pitfalls that kept me searching for days.
In case it isn’t obvious, you need a paid iOS developer account ($99/year) in order to submit applications, free or otherwise, to the iTunes App Store. Ensure your Apple ID includes up to date information, and that the address is accurate. You will need to verify your address and identification details, usually by way of faxing a passport copy and utility bill. If in doubt, call developer support for your local.
I’m also going to assume you already have an app that’s been tested on the simulator/Device, with no bugs or memory leaks.
Here’s a quick summary of the whole submission process:
- Create a unique App ID for your app and change your bundle identifier in XCode.
- Create a secure Distribution Certificate for yourself (if you don’t have)
- Create a Provisioning Distribution Profile for the app (For App Store)
- Code-sign your app with the distribution profile
- Archive/Build it in device mode.
Create an App on iTunes Connect with your metadata and sales information. Most of this occurs within the Provisioning Portal, XCode, Keychain Access utility and iTunes Connect.
- Either use XCode or Application Loader to upload your build file on iTunes Connect. App review team verifies your app, if everything works fine and they satisfied with your design/app-interface; app will be release for App Store.
Lets describe all tasks in more detail:
Login in your developer account (developer.apple.com) and select iOS
Create A Distribution Certificate
NOTE: Creating Distribution Certificate is one time process. If you already did once and installed the certificate in your XCode, You don’t need to create this again. You only need Provisioning Profile for your new app.
This is a secure certificate stored on your profile, which confirms your developer identity and signs your code. There’s an elaborate version of this process detailed on the Distribution tab of the Provisioning Portal, but the simplified version is:
- Open up Keychain Access, and turn off OCSP and CRL from the Preferences.
- From the Keychain Access menu, choose Certificate Assistant -> Request Certificate from Authority.
- Enter your email address (no CA email needed), choose Saved to Disk and Let me specify key pair information, then Continue
- Choose key size of 2048 bits, and RSA algorithm, Continue.
- This creates a .CSR file on your desktop.
- In the Provisioning Portal, choose Certificates -> Distribution -> Add Certificate, and upload the file created. I have already created (below screen shot), but you have to add at first time.
- It may take a few seconds to approve. In the mean time download and install WWDR intermediate certificate also (just download, double click to install).
- Refresh the page, and you should be able to download your certificate. Again, install it.
As a final step, open up Keychain Access, highlight your private key that you just installed and select Export Item from the menu. Keep this key safe with a backup somewhere, as without it you won’t be able to submit apps in the event of an OS reinstall or on different systems.
Create An App ID
- First, you need to create an App ID – a unique identifier for your app. Head over to iOS Provisioning Portal – the link is one the right side once you’ve logged into the iOS Developer site, and choose IDENTIFIERS from the sidebar.
- Click the add button to create a new app ID. The first description field is just a name for your reference. The bundle identifier is a kind of coded name for your app, usually written as your company domain (in reverse), followed by a dot and the app name. For example
App id description: iFrame App
Bundle ID: com.muzammil.iFrame (i.e. com.companyName.productName)
Now select Provisioning profile section and add new provisioning profile for your created app bundle id.
Download the provisioning profile and double click to install this in your XCode. Make sure it is showing as Valid profile.
Over in X-Code, click Target -> Summary, and change the Identifier to be whatever you decided above (com.whatever). Bundle id should be same that you created in previous step.
I am using com.muzammil.iFrame
Check Code Signing & Build Settings
As a final preparatory step, open up XCode and find Code Signing in the Build Settings area. Ensure that the Release option (for both Project and app Target) has your Distribution Profile selected (the one you installed just now).
Select iOS device as the build scheme, and move on to Archiving.
Archiving Your App
Nearly there! Before you can actually submit your app, you need to create an archive of the whole project – the final set of files that will be uploaded to iTunes Connect. Assuming everything has been done correctly until now, the first step is check you have an Archive scheme to build the release version with.
Click on Edit Schemes from the top-left, and either make sure the Archive one is set to Release, or create one now with the appropriate settings. Using the Auto-Create Schemes function within manage schemes should also create this for you.
Your app build section is completed. Now register this app on iTunes connect.
Create An App On iTunes Connect
iTunes Connect is the commercial side of the app store, which handles the actual sales of your finished app, which countries to sell in, description and screenshots etc. It’s actually quite easy, but there’s a lot of information to be filled out, and it’s at this point that you’ll decide whether to sell the app, give it away, enable iAds to be displayed, enter bank information, and sign any contracts needed for release.
To get started, just head to iTunes Connect and Add a New App. You’ll need to choose the bundle identifier from the drop selection box (the com. whatever name you created earlier).
After login inside iTunes Connect select Manage Your Apps:
From top menu select Add New App:
Now Enter App name, unique SKU number e.g. appName123, select App Language and choose your bundle id.
Source: iTunes Connect Developer Guide
Select availability date and price:
Add version number, copyright and category. Secondary category is for games (optional).
Setting a Rating
In the Rating section, set the rating for your app for the purpose of parental controls on the App Store. All apps are required to have a rating. For each content description, choose the level of frequency that best describes your app. As you mark each selection, the app rating is displayed on the right.
Important: Apps must not contain any obscene, pornographic, offensive or defamatory content or materials of any kind (text, graphics, images, photographs, etc.), or other content or materials that in Apple’s reasonable judgment may be found objectionable.
For each field in the Metadata section, enter further descriptions for your app version. Unless specified otherwise, these fields are required. Because users read this description to help them make their purchase decision, it is a key piece of marketing text. For tips on writing an effective app description.
Providing App Review Information
Use the App Review Information section to provide contact; review notes, and demo account information so that the App Review team can review your app. If your app requires specific settings, user registrations, or account information before you submit it to the App Store, be sure to include that information in this section.
If your app delivers streaming video over the cellular network, enter a test stream URL in this field. You can also include general instructions or other relevant information about your app that you think would be useful for the review process.
Providing an End User License Agreement (Optional)
If you want to provide an end user license agreement (EULA) for your app beyond the standard EULA that Apple provides, click the “click here” link in the EULA section.
Uploading Icons, Screenshots, and Routing App Files for Your App
In the Uploads section of this page, you upload all of your assets—specifically, your large app icon for iOS apps, your first screenshot (for iPhone/iPod touch, iPad or OS X), the routing app coverage file, and any additional screenshots. Before uploading your assets, refer to “Creating Assets with the Correct Specifications” to prepare your assets for upload if you have not already done so. All assets, except for the additional screenshots and the routing app coverage file, are required based on the device families set in your app binary.
Ready to Upload Your Binary
After you have completed the app upload preparation steps outlined above, you answer more questions depending on the nature of your binary.
Version Release Control
You can now determine when your app updates go live on the App Store. With version release control, you can specify when a version of your app goes live rather than have the version go live as soon as it is approved by App Review.
As part of your Ready to Upload Binary questions, you are shown the two options for version release control:
If you choose to automatically release your app update, it will go live as soon as it is approved by Apple (pending the availability date you have set).
If you choose to control the version’s release, your app status will change to Pending Developer Release after it has been approved by App Review, indicating that you can release it to the App Store whenever you are ready.
Eventually, your app will be added, and be in the Waiting for Upload status, at which point you can go back to XCode Organizer -> Archives, and hit Distribute to upload. You’ll ask to log in and check which app it is you’re uploading.
Select “Submit to the iOS App Store” option. For Adhoc build you have to select “Save for Enterprise or Ad Hoc Deployment”.
Select application Bundle id and your code signing identity (your distribution profile name).
Click next and it will upload your app on iTunes. After upload done, you can check your itunes connect account. Your app status will display “Upload received” in detail and after few minutes it will show “Waiting for review”. Now you need to just wait for it to be approved – usually a few weeks.
This has been a totally new experience for a fresher or person who just started his career in iOS development. Hopefully you’ve got a clearer understanding of the process now – personally I was a bit daunted by it all and found myself muddling through most of it. Is it as complicated as it sounds? Yes – but only the first time. But once you submitted 2-3 apps you will become master in this and in fairness, it’s this rigorous process that prevents insecure apps and malware from ever making their way onto the app store, so that’s something I’m eternally grateful for.
Like us on Facebook, Follow us on Twitter, Write us on: firstname.lastname@example.org
Hire us on Odesk and Elance
Still facing any issue in app submission? For more help contact our expert developer at:
Email: email@example.com Skype: muz.iphonedev
You can also download PDF copy of this tutorial from this link : Triffort_Tutorial