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).
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.
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."
At this point you'll be in a position to release your app into the App Store. This can either be done automatically in phases over a 7 day period or manually .
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.
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.