How to publish your iOS app to the Apple App Store
Follow our step-by-step guide to get your app live ASAP
So after weeks of stackoverflow searches, microwaved pizza and your spine slowly settling into the golden ratio, your iOS mobile app is finally finished.
But before your vitamin D deficient body finally encounters the wholesome sun, you need to publish your app to the App Store.
Step 1: Meet the App store guidelines
If you're going to play in Apple's backyard, you need to obey their rules. 62% of Apple App Store submission rejections are a result of non-compliance with Apple's guidelines.
Apple's guidelines are quite lengthy, and since you're most probably reading this because you're frustrated that your iOS app isn't being accepted, let's not waste time blabbering about it and get to the point.
Below is a super sleek summary of Apple's App Store guidelines:
Make your app safe
Don't be racist
No religious discrimination
No gender discrimination
Don't target specific groups of people
Don't humiliate anyone
Don't intimidate anyone
Keep user data secure
No offensive content
No sexual or pornographic material
No false information
Don't enable anonymous calls/SMS's
Don't risk physical harm (medical apps that provide advice should be wary).
In short: BE NICE DAMMIT!
Your app should perform well
Only submit the final version of your app (submit all test versions to Testflight beforehand)
Ensure all metadata is accurate
Don't keep any features hidden. Users should not be surprised
Be transparent about all in-app purchases
Screenshots should clearly illustrate app operation
Don't promote other mobile platforms
Clearly describe any new features under the "what's new" section and don't be vague.
Your app should run seamlessly on iPads
Don't encourage users to turn off WiFi, disable security settings, etc
In short: Make sure your app isn't garbage
Have a clear and fair business model
Don't overprice your app (includes all in-app purchases)
Be very clear about what users will be charged
Don't manipulate feedback
Don't incentivize positive reviews
Only use in-app purchases and not other forms of payment collection
Clearly describe what the user is expected to receive in exchange for purchasing your app (includes subscriptions)
All advertising should be appropriate to the app's audience
In short: Be honest and play fair
Make sure your content is unique, don't simply add a new feature to an existing app. Make your app obviously different.
If you use ARKit you must provide a rich AR experience.
Make sure all app extensions are compliant
Offer the option of signing in with Apple to any 3rd party social service
In short: Make your app the prettiest app in the universe!
Keep user data safe
Be transparent about any data collection
If you mine data, only mine data that's relevant to the core functionality of the app
Respect users' permission settings
Only include a user login if your app includes significant account based features
App must include a mechanism that revokes social media credential and social media access.
Don't use the app to access user passwords.
Don't share data without clearly obtaining permission first
In short: Don't be stealing stuff!
If time is your benevolent friend, you can read the entire Apple guidelines document yourself.
With a fully compliant app, you will have a firm foundation set for the subsequent steps:
Step 2: Join Apple's Developer Program
You need to sign up to Apple's Developer Program in order to have stagedoor access to the app store.
It does come at a price, which isn't too weighty on the wallet.
Individual developers pay $99 a year.
If you run a development team, they can all have access through the one account for $299 per year.
The developer program offers some pretty cool features such as a beta testing environment, access to Apple build kits, analytics, etc.
Step 3: Set up Certificates, identifiers and profiles
Every app needs a signed Apple certificate in order to run on a device. If your app doesn't have a verifiable bundled certificate, it will be rejected. To create a certificate you need to create a profile (also known as "code signing identity").
There are two types of profiles:
Development Profiles Certificates that YOU create and sign in order to run your developed app on your phone while testing it.
Certificates allow your app to be run on multiple devices. Apple creates this identity after your app is approved.
Now, there's a manual and automatic method of creating these identities, and since we're aiming to get our app published ASAP, let's focus on the automatic device provisioning process.
How to automatically manage identity signing in Xcode
Under "Accounts," in the bottom left of the window, login using your Apple Development Program credentials.
Select the "General" category.
Under "Signing," tick the box "Automatically manage signing"
If you run a development team, your device will need to be registered on your team provisioning profile
Figure 1 - instabug.com
Step 4: Get an App Store Connect account
App Store Connect manages all of the apps you submit. It's the door to the App Store.
You'll need to sign into App Store Connect using your Apple Development Program credentials.
Figure 2 - help.apple.com
You can also access App Store Connect by logging into the Apple Developer Program
If you'll be selling your app, you'll need to sign a "Paid Applications Agreement" under "Agreements, Tax, and Banking."
A record needs to be created in App Store Connect for each app you want to push into the App Store. This will help you identify and manage each individual app listed in App Store Connect.
Step 5: Input your app details
When submitting your app, you need to make sure you clearly (and beautifully) communicate its purpose both visually and via text.
Metadata identifies your app. It includes details such as
Preview images (images or video if you're a super fancy pants)
Release notes of new updates
Apple has laid out strict meta data requirements that need to be met before submitting an app.
It's absolutely imperative that you keep all metadata up to date at all times.
Keep all images beautiful
You won't be able to upload your app without a stunning icon. Make sure its meets Apple's Human Interface Guidelines.
Your app previews (screenshots and videos) should clearly identify the function of the app and the app's aesthetics. If your app in reality looks wildly different to your previews, your submission will be rejected.
As a good rule of thumb, aim for about 5 preview images and 1 short video. Make sure you also include previews for different devices.
A common theme in this app publishing process you may have noticed is the integral importance of elite customer service (high quality app, beautiful imagery, clear communication, etc.).
So if you imagine you're presenting your app to your lover every time you upload it, you should meet (and exceed) Apple's expectations.
Step 6: Upload your app
We're on the home stretch now!
Next you'll need to upload your app into App Store Connect. This is most easily done straight from Xcode.
If your upload is accepted, all is well. If there's a submission error, there may be bugs present. The error message will let you know exactly which bugs your app is experiencing.
This a good opportunity for you to identify and fix any bugs before your app is officially reviewed.
You can also invite testers via App Store Connect to test your app by simply inputting their email addresses.
Step 7: Get reviewed by Apple staff
The final obstacle to overcome is the review process by Apple staff. An Apple staff member will manually test your app and review all of your metadata.
If you can win over their hearts, your app is a shoo-in, so be romantic!
Hot tip:There's no better way to flirt with an Apple reviewer than with a fully compliant mobile app.
50% of apps are processed within 24 hours and 90% within 48 hours. Once approved your app's status will be set to "ready for sale."
Automatic publishing is usually used for version update releases.
If your app is rejected, you can appeal the decision through the Resolution Center.
The resolution staff are usually very compliant and helpful. Keep in mind that more apps in the App Store means more revenue for Apple, so they'll never nonsensically block your app.
Apple has created a document outlining the common reasons most apps are rejected. If you use this document as a testing template, it should give your app the highest chances of approval.
Building an app is difficult. Publishing it onto the App Store should be the rewarding conclusion of your hard work. Follow our guide to get your app submitted into the App Store successfully every time.