GoNative provides an end-to-end solution that enables you to deploy web-based applications as native iOS and Android apps. Learn more
Publishing your native iOS app to the Apple App Store is an excellent way to market your app to potential users. Follow the steps below to ensure your app passes the review process!
To distribute your Apple iOS app publicly to your users you will need to publish to the Apple App Store. Given Apple’s commitment to delivering a consistent, high-quality user experience, it’s not surprising that the App Store has detailed requirements for apps to be approved within the App Store. The information below will help ensure your app is approved by the App Store review team.
It’s important to review Apple’s app review guidelines for apps listed in their store and make any changes that are required to ensure your app is compliant. Here are some of the most important:
Avoid aligning your app’s design too closely with existing apps or simply making slight changes to another app’s existing interface. In addition to citing respect for other developers, Apple suggests that copying the design of another app could result in an intellectual property infringement claim.
On the subject of intellectual property, Apple is explicit about only using app designs, content, data and/or metadata created by you or your organization. While laws surrounding copyright infringement differ from country to country, Apple suggests following general rules and guidelines found here.
Apple encourages businesses and developers to critically evaluate their app and ensure it doesn’t contain or promote any content that could offend, upset, disturb, harm or mislead users. This is especially important for apps such as health and wellness apps: Apple is clear that they will reject apps that promote misleading or unverified medical information, or that fail to provide data to support their claims. The full list of guidelines is extensive and can be found here.
Apple has strict rules in place to ensure that every app in the App Store respects the data privacy of users. They strongly encourage developers to review both their Privacy Best Practices and the Apple Developer Program License Agreement to ensure their apps comply. Some highlights from these guidelines include:
- All apps must secure the consent of their users before collecting and compiling any data for any reason
- Apps should only collect data that is key to the core functionality/use case of the app
- Apps must respect the user’s permission settings and not attempt to manipulate users into unnecessary data access
- Apps must request explicit permission when recording, logging or making any other record of the user’s activity
Apple’s guidelines address the quality of individual apps and the quality of the storewide app offering. In this context, they advise developers against spamming the App Store with unnecessary, redundant apps and/or multiple versions of the same app.
Apple’s Developer Code of Conduct concerns treating customers, fellow developers and Apple itself with respect. This community of respect extends from replying to App Store reviews and dealing with Apple representatives to ensuring that all app-related content, services and interface points build trust between the app and the user. Failure to uphold the code of conduct will often result in the suspension of Developer Program Accounts and/or the removal/rejection of an app.
Apple places a premium on design, performance and end user utility. Ultimately, these standards should tell developers that their apps should feature unique content, UI and features that elevate it beyond a mobile site or repackaged website.
For Apple, if an app doesn’t look and function like an app, it doesn’t belong on the App Store. What’s more, if an app doesn’t provide unique utility or entertainment, there is a good chance your app will be rejected. For the complete list of standards, click here.
Adding a native sidebar menu and/or a bottom tab bar menu is an excellent way to create easy, intuitive navigation through your app. You may choose to display the same native menus on all pages viewed through your app or you may configure different menus depending on the page. For more information on native navigation, click here.
Create a Memorable, Functional Main Page
From easy navigation and button links to relevant, essential information, your main page should be a hub from which users can explore your app. Avoid large images and dense blocks of text. Instead, favor simplicity, economy and cohesive design elements.
Avoid Footer Text
Apps shouldn’t contain footer text and menus that the user needs to scroll to view. If your app requires secondary navigation, consider using a combination of a sidebar navigation menu and a bottom tab bar menu.
Optimize Your Logos For Mobile
If you want to show your logo on every page, contain it to an area as opposed to letting it consume the entire screen.
Optimize Forms For Mobile View
Filling out forms on mobile devices can be very frustrating if they are not scaled properly. Ensure that forms are scaled large enough so that users can easily complete them on their mobile devices.
Social login providers offer a seamless login experience for end users whereby they sign in using their existing Apple, Google or Facebook account information rather than using a username and password specific for your app. If you are using this feature for your iOS app Apple makes it mandatory to include “Sign In With Apple” as an option alongside any other login providers. That said, there are situations where Sign In With Apple is not mandatory:
- The app only uses a company’s account setup and sign-in systems
- Education, enterprise or business apps that require users to sign in with an existing account
- Apps that verify users via government/industry-backed ID system or electronic ID
- Apps that are used for specific third-party services where users must sign in to their mail, social media, or other third-party account directly to access their content
If you’re looking for more information or guidance on proper app development practices for iOS, Apple has compiled a number of relevant resources you can consult. You can find the links here.
It’s now time to compile all the relevant information about your app, ensure you have all the necessary profiles and accounts set up and prepare for submission. Here are some key steps in that process.
Whether using GoNative’s publishing service or self-publishing you will require a valid Apple Developer account. In order to enroll, ensure you have the following:
- Website: Your business or organization must have a publicly accessible website and a domain name
- Apple ID: You will need this to enroll as a single-person business or as an organization. You will also need to turn on two-factor authentication upon sign-in for added security and verification
- D-U-N-S Number: A nine-digit number unique to your business or organization confirming identity and legal status.
- Legal Entity Status: Your organization must be a legal entity to engage in contracts with Apple
- Legal Binding Authority: The individual enrolling must have legal authority to bind the company or organization into contracts with Apple
After you have set up your developer account, you will receive access to Apple’s App Store Connect — a central hub from which you will submit your app for approval. Access to App Store Connect also allows you to test your app with TestFlight and manage it prior to, and following, submission.
After you create your Developer Account, you’ll need to register and configure your app with Apple.
A Bundle ID is a text identifier for your app that is registered with Apple. The bundle ID is unique for each app and typically in reverse domain name notation. For example, if your website is example.com, your Bundle ID might be com.example.app.
To set up your Bundle ID log into your developer account and visit the Certificates, Identifiers and Profiles section. It’s important to note that your Bundle ID is case sensitive.
A signing certificate is a secure digital identifier that is used to sign your app and verify its authenticity. Code signing is a way of ensuring that your app’s code has not been altered since it was signed. You need to create a signing certificate before your app is submitted for review. Apple issues two different versions of these certificates:
- Development Certificates: Allow you to run your app on devices and use app services during development and testing
- Distribution Certificates: Allow you to upload your app to App Store Connect and publish
To generate these signing certificates, visit the Certificates, Identifiers and Profiles section in your developer account.
These profiles act as a link between your developer account and your app during testing and publishing. Your provisioning profile will contain your Bundle ID, reference your signing certificates and all the Apple capabilities you have enabled for your app such as push notifications and Sign-in with Apple. Set up your provisioning profiles by once again visiting the Certificates, Identifiers and Profiles section in your developer account.
Uploading your app to App Store Connect requires a Mac computer with the latest Xcode installed. If you are using GoNative’s App Store Publishing our publishing team will complete this step for you and a Mac is not required.
- Step #1: Ensure your developer account is added to XCode
- Step #2: Ensure your Provisioning Profile (containing your Bundle ID and Signing Certificates) is available to use
- Step #3: Double check that your Bundle ID is correct (remember the case sensitivity)
- Step #4: Go to Product > Archive in the Xcode menu
- Step #5: If you cannot select Archive, select Generic iOS Device or a plugged-in physical iOS Device in the top left of the XCode window
- Step #6: After archiving your app, click the button to upload your build to the App Store
- Step #7: It could take 10 to 20 minutes for your app to be processed by Apple and when complete the build will appear in your App Store Connect account
For internal testing, all testers must first be added to your Apple Developer Account. If a tester is not a developer, you can add them with a “Customer Service” role:
- Click TestFlight in the top menu
- Add a group of testers/add testers to an existing group that has access to the build
Test, Test and Test Again
It’s crucial to test rigorously before submitting. While you are of course looking for crashes and bugs, you are also testing to ensure your app functions “like an app”. Put yourself in the shoes of the end user: Is the app easy to navigate? Is it useful? Does it have an interesting, UI-friendly design? Addressing these kinds of questions in the design phase of your app will ensure approval will be successful.
In addition to using simulator software, test your app’s functionality on a range of iOS devices to gain a clear understanding of what the user will see. If you are using GoNative’s publishing service our team will provide your app to any number of test users through Apple’s TestFlight platform.
A Note on App Completeness
It’s important to remember that the app you will submit for review must be the final version of your app. Do not submit apps with incomplete pages, placeholder text or temporary content, as they are sure to be rejected.
You will need to provide detailed metadata and information about your app before submitting it for review. In their review guidelines, Apple stresses the importance of providing metadata — including descriptions, privacy information, screenshots, previews, categorization — that accurately reflect the core experience of the app. Here are some other notes to keep in mind:
- Be Transparent: Don’t include any hidden or dormant features in your app or omit features in your metadata
- Be Honest: Don’t promote or include descriptions of features that your app doesn’t offer
- Be Accurate: Select accurate and appropriate search keywords, tags, categories and age ratings for your app
- In-App Purchases: Be sure to disclose if any added features, levels, subscriptions, etc. require any additional payment
- Show Your App: Screenshots and previews should always show the app in-use, not only artwork or brand images.
Here is a detailed breakdown of the information you will need to add to your app store listing in App Store Connect before submitting your app for approval.
- Primary store page language (Default en-US)
- App Name (Maximum 30 characters)
- Store Category
- Age Rating (Default is 4+)
- Does your app display external content? If Yes you must have any required content rights)
- App Pricing & Availability (Default is Free and Global)
- App Keywords (100 characters, separated by a comma)
- App Description (4000 characters)
- Support URL
- Copyright Line (Default YEAR COMPANY NAME)
If your app has a login, Apple requires the credentials:
- App Review Contact Information
- First Name
- Last Name
- Phone number
Once you have entered your metadata information fully, click App Store on the top menu and select Submit For Review.
Congratulations! You have successfully submitted your app for review. Here are some things to keep in mind while you wait.
- Timing: While review times can vary depending on the complexity of the app, Apple notes that typically 50% of reviews are completed within 24 hours and 90% within 48 hours.
- Status and Updates: You can reviewing the status of your submission in the “My Apps” section of App Store Connect
- Rejections: Sometimes multiple submissions are required before your app is approved. If your app has been rejected and you have questions about Apple’s feedback or additional information to share, you can contact the Resolution Center.
Even with the help of the most detailed guides, designing, developing and publishing an app can be a daunting task. If you’re looking for more support at any stage of this process, try GoNative. Our highly intuitive online app builder makes it easy to convert your existing website or web-based application into an immersive, visually stunning native iOS app.
In addition to helping you build stunning apps, GoNative also provides end-to-end app publishing services. Since 2014, we’ve helped our customers by publishing over 3,500 apps with a 97% approval rate to the Apple App Store and Google Play Store. Our team manages the publishing process from start to finish, ensuring compliance with app store guidelines, and seeing that your app is approved and available for download as quickly as possible.