A Complete Apple App Store Submission Checklist
Building a mobile application for the Apple App Store requires lots of attention to detail.
It’s not easy to juggle development tasks, design, and daily business operations.
I’m sure you’ve got a lot on your mind. I can relate because I’ve been through this process dozens of times myself.
With so many moving parts, it’s easy for things to get lost in the shuffle.
You’ve got to come up with a way to stay organized so nothing gets overlooked.
With that said, there are certain app best practices that have evolved over time.
But no matter what type of app you’re building, these practices boil down to a handful of common items.
Furthermore, the Apple App Store can be very picky about the apps that they allow on their platform.
They also have rules and regulations in place for how they let their users find these apps.
That’s why I came up with this checklist of best practices for the Apple App Store.
Following these guidelines will increase your likelihood of creating the best app you can.
It will help you make sure that certain tasks or app elements don’t get overlooked.
You’ll also have an easier time getting approved by the App Store.
Here’s what you need to know.
Tips to use the checklist
Nobody’s app is perfect.
In fact, more than half of users say that they have experienced a problem with a mobile app in the last six months.
If you follow my tips, it will minimize the chances of your users experiencing problems.
Don’t me wrong, I’m not saying that your app will never have any issues.
But a checklist can help you avoid silly mistakes that could have been easily avoided.
Use during final QA
It’s always important to check your work while you’re in progress.
But that doesn’t mean you need to break out the checklist every day.
Give your development team some time to get all of the proper code written before you start to determine if things are missing.
That’s why it makes much more sense to go through your checklist during the final quality assurance stages.
By now, your developers and designers are ready to submit the app for approval.
So if something was skipped over, not functioning properly, or was overlooked, then you’ll catch it during the QA tests.
You might even have a continuous integration system in place to reduce errors before the app gets sent to your QA department.
If so, that’s great.
But you should still go through the checklist to confirm everything is there.
Use a fresh checklist each time
Don’t keep reusing the same checklist.
Let me clarify – You’ll be checking for the same components, but you want to make sure the sheet is blank each time.
Otherwise, it will get too confusing.
Just because something passed the checklist the first time around, it doesn’t mean it will be the same when you check it a second or a third time.
Code getting fixed or rewritten to fix one mistake could impact other elements of your app.
So make sure you’ve got lots of physical or digital copies of your checklist.
Log the results of the checklist for comparison to future versions
Here’s a hypothetical scenario.
You go through your checklist and something is missing.
Do you need to completely halt and delay your launch? Not necessarily.
You can continue to work on minor changes while this version of your app is released.
Just make sure the errors aren’t detrimental to the user experience, such as a long onboarding process.
So you’ll want to track the results each time you go through your checklist.
It will help you down the road.
You can focus on certain factors that continue to be a problem when you’re tweaking later versions of your app.
Logging this data will also help you maximize efficiency in terms of development.
You’ll know what areas need to be prioritized.
The results could also show you if there are problems with different software or plugins that you’re using to build and modify your app.
Be sure to name and number versions correctly
Again, you want to stay as organized as possible.
Each version you test needs to be labeled correctly.
The names and numbers of each version also need to match with the corresponding checklists.
Most software versions consist of three components.
I’m not saying that you absolutely have to do it this way, but it’s a common approach and easy to stay organized.
Here’s an example from Snapchat on the Apple App Store.
As you can see, they follow the same format when it comes to naming and numbering new app versions.
If your app is in the pre-launch or development stages, it’s possible that you haven’t encountered this yet.
But it’s something you’ll definitely need to keep an eye on as you continue to modify your app and come out with new versions.
I recommend starting your checklist with how the app functions.
If it can’t function, then you can’t release it to the public.
So go through all of these carefully and see if you can clear each functional component for approval.
Keep in mind, all of these may not be applicable to every single app.
So you can omit some of these if they don’t apply to the app you’ve built.
Keyboard functions and text would fall under the inputs category.
Consider your text fields and if they become hidden by a keyboard when the user attempts to type something.
Do users have the option to select text and copy or paste words into your app?
If you want this function to be disabled at certain times, you’ll want to check that here as well.
You’ve also got to make sure all of the keyboard functions are formatted for different screen sizes.
This goes for all iPhone models as well as different sized iPads.
Check to see if your app works with approved external keyboards.
You’ll also need to set:
- a URL keyboard type
- type of email keyboard
- a default keyboard
- a type of phone keyboard
Check to see if your app accesses a dictionary and allows for a suggested word hovering option when users are typing.
You’ll also need to set return key names if your app has multiple input screens.
For example, you may require users to fill out information in multiple steps instead of just on one screen.
But ultimately you want to limit the amount of input fields to improve the user experience.
The user can fill out the form on the right much faster than the form on the left.
That’s because it has only five fields as opposed to ten.
You’ll also need to test how users can connect to your app.
Do they need to connect to WiFi for the app to work?
Can your app run on cellular data?
Ideally, your app will automatically run off of WiFi, but still, have offline options and run on cellular data if the user has that turned on from their device.
Test to see what features of your app can run in airplane mode.
Check for network errors such as:
- server timeout
- network interruption
- no network
Apple has a detailed description of how networking works on their developer guidelines page.
You need to go through all of your location services and verify that they are accurate.
Depending on the type of app you’re running, pinpoint accuracy is an absolute necessity.
If you’re going to be guiding people through turn by turn directions or linking them up with other app users (similar to Lyft), the difference of a couple hundred feet is major.
You may not need pinpoint accuracy if you just need to know the city or state the user is in.
If you add GPS capabilities to your app, you’ve got to make sure it has a location warning in your description on the App Store.
You can’t track someone’s location without getting their permission first.
Here’s an example of a popup from Uber.
Not only do you need to warn about location tracking in your description, you’ll need to get your users to allow access after they download the app.
It’s all about safety and privacy, which Apple is pretty strict about.
Other location elements to consider on your checklist include scenarios when:
- location services become disabled
- the location is turned off
- location cannot be found
- the user is too far away from points within a search range
You’ll also want to check and see if your app updates the location when it’s being used in the background and if it’s able to find the last known location.
Similar to the location services, you’ll need to get permission from the user if you’re going to access their camera.
But you’ve also got to test and see if the camera properly works when you’re using the app.
You’ll need to test both photos and videos.
It’s also important that you make sure the primary device camera works as well as the front-facing camera.
Check the camera functionality for what happens when a phone call gets received or another action takes place that interrupts the camera usage.
Does the video pause? Will it get deleted?
What happens when the video runs out of storage space?
Make sure you go through all of the photo and video parameters when before you submit your app to the App Store.
Check the functions for who can use the app from each specific device.
Go through the authentication process for both new users and returning users to see if everything is running properly.
Make sure your terms of conditions and services are up to date and the user has access to it.
What’s the process for when a user forgets their password?
Don’t overlook those steps.
Does your app connect with other social apps? This needs to work as well, especially if that’s how users log in or create an account.
Here’s an example the Buffer app.
The authentication process is extremely important for all apps because it has to do with the user’s privacy.
You don’t want unauthorized users accessing the wrong accounts without permission.
Test all of your audio functions.
You need to check the routing for speakers, headphones, and dock connectors.
You’ve also got to check mute and pause functions whenever audio gets played.
Make sure you have functions in place for how audio will respond when the user gets a phone call.
Will audio continue to play in the background or when the device is on the lock screen?
What kind of images or art will display on the lock screen when audio plays?
Test to see if users can adjust the audio volume from their headphones without touching the device.
Check the quality of your audio sources.
Go through all of your Apple AirPlay audio interactions.
I find it super frustrating when apps have video playback issues.
So make sure you’re not overlooking these functionality tests.
Go through and make sure all the videos are played until the end.
Can you cancel videos during playback or before they begin?
Check full screen capabilities of your video. You’ll also need to test the transitions between fullscreen and inline video playbacks.
Does your app have live streaming capabilities? If so, you’ll need HTTP streaming for live videos that are over 10 minutes long.
Just like with your audio functions, test your video capabilities with AirPlay interactions.
Locale settings have to do with:
- time zones
This is also the place where you’ll test the 12 and 24-hour clocks.
Your app should automatically identify the user’s timezone. So make sure all of that works.
Can users share app information with each other?
If so, how?
Test all of those options such as SMS messages or social apps.
That’s a great way for users to promote your app and share it with their friends.
You can also set up sharing through AirDrop on Apple devices.
If your app uses these different sharing options, make sure they all function properly.
Your settings should include all the information about your company and developer name.
You should also include a link to the developer website.
Add resources for support, troubleshooting, and other contact methods.
Show any attribution and credits as well.
Here’s a place for you to include the app version number, which we discussed earlier.
I highly recommend reviewing Apple’s security guidelines before you submit your app.
If you don’t comply with their rules and regulations, your app can be rejected.
You don’t want to get a reputation as someone who can’t protect the privacy of their users.
You’ve got to make sure you’re only using HTTPS connections for network traffic and use Cert pinning whenever possible.
Once you finish going through all the functionality components, it’s time to start checking off items that are related to UX and the interface of your app.
Most of your app’s visual elements will fall into this category.
Screen size and orientation
Apple devices all have different screen sizes.
For example, the iPhone 4s has a 3.5-inch screen, but the iPhone 6s has a 4.7-inch screen. The 6 Plus has a 5.5-inch screen.
Apple’s newest phone, the iPhone X, has a screen display that’s 5.8 inches.
There are other phone sizes as well, but as you can see, they are all over the place.
You’ve also got to account for the different iPad sizes.
Make sure your app is oriented for changes when the phone is turned on its side as well as when the screen is locked.
Will your app adjust for a double height status bar when the device is in the middle of a phone call?
Account for your screen sizes when your app is in a split video or in a slide over mode.
Consider rotations from portrait to landscape on iPads as well.
Don’t omit testing for any devices.
Recognize that not everyone has the newest iPhones and iPads. Even people with older models should be able to use your app without issues with the visual elements.
UI design standards
You need to make sure that your primary content fits on the screen without the user having to zoom or scroll horizontally.
All of the UI components need to work for touch gestures on the phone as well.
Your text size needs to be legible and the contrast between your background colors needs to read well too.
Test to make sure that your text doesn’t overlap. If it does, you may need to increase the letter spacing or line height as an adjustment.
Images should be sized at the right aspect so they don’t get distorted.
The app also must meet Apple’s human interface regulations if it uses 3D touch.
Users can control the accessibility from the settings within their Apple device.
Make sure your app can comply with these accessibility features such as:
- font sizes
- voice over
- custom views
- accessibility inspector
- dynamic elements
- table views
- data that’s noncontextual
- voice over hints
As an additional resource, here’s the link to Apple’s accessibility programming guide for iOS.
Once you finish testing the functionality and accessibility of your app, you’ve got to make sure that it’s ready for the App Store.
If you don’t go through these steps thoroughly, your listing could get rejected.
Here’s what you need.
Connect app information
- Primary category (secondary category and subcategories are optional)
- Version number
- Information if the app is suitable for children
- Apple ID
- File size of your app
- Support URL
- Roles of different users
- License agreements
- SKU number
- Bundle ID and suffix
You also need a store icon that’s properly scaled and formatted.
It needs to be a PNG or JPEG image with a high-quality resolution.
The icon can’t be transparent or have rounded corners.
Pixel dimensions need to be 1024 x 1024 to be approved.
Include quality screenshots that show different functions of your app.
Here are some screenshots from Instagram’s listing on the App Store.
Basically, this gives users a chance to see what your app is like before they download it.
Quality screenshots can help with your ranking in the store.
These screenshots must be formatted for different screen sizes.
You need to have a screenshot for each device, including Apple Watch.
There are some other miscellaneous elements that you need to go through on your checklist that don’t necessarily fall into the functionality, UX/UI, and store listing categories.
Here are some additional things to consider.
- Push notifications
- In-app purchases
- Automatically checking for updates
- Custom widgets
- Touch ID
- Certificate for code signing
- Analytics tools
Check for anything else that’s specific and unique to your app and add those items to the miscellaneous section of your checklist.
Releasing an app on the Apple App Store isn’t easy.
With so many different elements to consider, you should develop a checklist to make sure you didn’t forget to include anything.
Wait until the quality assurance stages to go through your checklist.
Always make sure you properly name and number each version of your app.
You can refer to previous checklists as a reference when you’re updating and testing new versions.
If you follow this guide, it will help you make sure that you are always releasing the best possible version of your app.
Go through all of these items carefully before you submit your app to the iOS store.
Will you start your checklist with functionality features, the UI/UX components, or store listing elements?