After months of hard work, your mobile app is ready. Now it’s time to publish the app on Apple AppStore. When you publish your app through the AppStore, you get access to the entire Apple ecosystem. You can now publish your app across all devices that run iOS namely iPhone, iPad, MACs (laptops, desktops). Apple pays a lot of attention to its marketplace than any other mobile app market in the world So having your app on an iOS Appstore speaks volumes about your brand, the security of your app, and the credibility of your business.
How To Publish an App To Apple App Store? Step By Step Guide!
Submitting your app on the Appstore is a lengthy process. If you are doing it for the first time, then it could get slightly confusing.
Don’t worry, we are here to simplify the app submission process for you. Having all the pre-requisites and prep-work in place before you publish the app is the key to a smooth submission.
Here is your detailed step-by-step guide on how to successfully publish your app on Apple’s Appstore.
Step 1 - Pre-requisites
Before you even begin the process of publishing an iOS app on the Appstore, there are a few pre-requisites that you need to ensure are in place. These are mandatory requirements.
For publishing an iOS app on the Appstore, you will need a system/computer that meets the following requirement.
- Runs MAC OS X
- with Xcode 13 and the iOS 15 SDK or above installed and running
- And Finally, a system that has Keychain Access installed
Before you publish an app on AppStore, you will need to sign up for the Apple Developer program.
- Use an Apple device (iPhone, iPad, Mac) in order to download the latest version of the Apple Developer App from Appstore
- Launch the app
- Sign in with your Apple ID and review the Apple developer agreement then agree.
- Tap on Enroll Now
- Provide the necessary details
- In addition, Apple will ask you to verify your identity details (Aadhaar, driver’s license, etc.)
- After that, Follow the next steps and proceed to payment.
- You will have to pay a yearly fee of 99 $
The Developer program enrolment is a must for submitting your app on Appstore. The fee of 99 $ per year is high compared to the one-time fee of 25$ in the google play store, but with the developer program, you have access to a bunch of different benefits including –
- Access to submit apps to the App Stores on all Apple platforms
- Ability to create Safari extensions and list them in the extension’s gallery
- Access to Beta versions of Apple software
- Testing tools like TestFlight
- App analytics and advanced app capabilities
If you are creating an app for the first time, and you plan to build apps for the Appstore in the future, then these are valuable tools that you can use to enhance and secure your app.
Legal and Banking Requirements
Once your Apple Developer account is active, then we suggest you fulfill the legal and banking-related requirements before you proceed to submit your app on Appstore.
- Log in to your Apple Developer account
- Then, Go to “App store connect”
- There you will find a section called “Agreement, Tax, and Banking”
- Agreement – Free app vs Paid Up agreement – click to view and then agree.
- Tax – There are various forms here, US is selected by default. Say Done. Proceed to the next. Fill up the form with the best possible information you can provide and then submit it using the button at the top right.
- Banking – Here is where you update your banking details.
It is a good idea to update this section right at the beginning since it allows you to read up and prepare for various apple specific guidelines.
Code Signing Request (CSR)
All the apps that run on iOS devices need to be signed. In other words, It is imperative that all apps need to have a valid certificate from Apple. Code Signing, therefore, ensures to its users that the app they are downloading from the Appstore is from a known source. By digitally signing the code the author of the code guarantees that the code has not been changed or corrupted since it was signed. There are various security terms involved in the process of code signings, such as public keys, private keys, certificates, and digital signatures.
Below are the steps
- Firstly, open Keychain Access on the computer you are using to submit your app.
- Then, follow this path Keychain Access -> Certificate Assistant -> Request a Certificate From a Certificate Authority.
- Finally, Fill in the Certificate Information form.
- Instead of email, Select the option Saved to disk. Then, click on Continue.
Now, you have the CSR on your local machine.
A distribution certificate is used to release an app to the App Store so that it can run on any device. This again is a mandated requirement.
Follow the steps below to generate the distribution certificate:
• At first, Go to the Apple Developer Portal, and sign in using your Apple ID and password. • Then, Select the “Certificates, ID & Profiles” from the menu on the left. • Under “Certificates” click the + sign. • After that, Select the iOS Distribution option and click on Continue. • Click on Choose File to upload the CSR file that we had generated previously. Click Continue. • Now, you can Download the generated iOS Distribution Certificate to your local machine. • Double click on the downloaded certificate, as a result, this will add it to your local device’s Keychain. • Keep this file in a secured folder. • Best practice is to create a Certificate Password for securing the certificate.
Things to keep in mind
- All apps must be built in the latest version on Xcode i.e Xcode 13 and iOS 15 SDK.
- It is very important to renew the apple developer program membership annually, otherwise, your app will be taken down by apple.
- Depending on the type of Apple ID – it can take up to 24-48 hours to confirm and set up a new Apple developer account.
- Application package size – Apple has given its developers substantial app package sizes. For instance, Developers can submit up to 4GB through App store connect.
- Please ensure you log on with your developer id In the Xcode app.
Step 2 - Pre Work
Once you have ensured that all the necessary pre-requisites are met, you can start the process of publishing your app on the Appstore. However, based on our experience It is always time-saving and prudent to compile all of your app data in one place.
As mentioned earlier, prep work will make the following steps easy.
Unlike Google Playstore, The Apple Appstore requires you to upload a bunch of screenshots and xxx in its Appstore listing page. Creating these in advance is recommended.
- App icon – This is the logo of your app, needless to say, the importance of this.
- Screenshots – This gives the user a visual idea of how the app would look on his/her device,
- Preview videos – This allows the developer to communicate to the users the various functionalities of the app. Apple let you add 3 videos
Apple is very particular about the graphic assets for each of its apps. In addition, it expects the app owner to upload an extensive array of graphic assets to match the various variety of Apple devices.
Below is a quick guide.
Meanwhile, if you are looking for a thorough device wise split of the graphic assets dimension requirement visit this website
We will use this in Step 5 – Prepare Appstore Listing
Key App Information
As mentioned earlier, the Appstore is a crowded place and for your app to stand out, we suggest that you give thought to these elements before you submit your app.
- App Name – Use relevant Keywords, various ASO tools can help you with this, however, please ensure that it is within the 30-character length limit and is unique.
- Description – A short description gives the users additional info about your application. Be honest here, don’t overload this with keywords. However, please ensure you comply with Appstore metadata rules
- App Category – You can add 2 categories for your app – primary and secondary.
- Keywords – Apple has provided a dedicated space where you can enter the keywords specific to your app. This is done so as to help the Appstore algorithm understand your app and its place in the Appstore.
- Support URL – A support URL is a webpage where users can reach out to the developers for any query or clarification
- Age Rating – Age rating is a critical component that goes a long way in ensuring your app reaches the right set of users. Depending on the answers provided, the app will be placed into one of the following four age-based categories: 4+, 9+ 12+ or 17+
We will use this in Step 5 – Prepare Appstore listing
Register Bundle ID
The Bundle ID is a unique identifier for your app through which you can manage your app from the Apple Store Connect. This Bundle ID also helps you connect to third-party services offered by apple.
To register your Bundle ID
- Open your Xcode project.
- First, Go to General,
- Find the Bundle ID, – Copy it.
- Then, – Log on to the App store connect with your developer id
- Then, Under Certificates, Identifiers and Profiles – go to Identifiers
- Click the + sign
- Select App ID, Continue
- Select App, Continue
- Then, Next page – enter your app name and Bundle ID that you copied
- Finally, Click Register
This will register your Bundle ID. Please ensure this is as per your Xcode project.
We will use this in Step 6 – Release the app
The provisioning profile is a combination of different digital entities that you have created up until now. A provisioning profile’s role is to confirm that a specific app with a specific App ID/Bundle ID can run on certain devices. It also confirms that the app has the necessary certificates embedded.
Since we already have a registered Bundle ID and an iOS Distribution Certificate, we can move on to generating the provisioning profile.
- Firstly, Log in to the Apple Developers website.
- Then, Select Profiles
- Click + button
- Then, Select App Store
- After that, Click the App ID / Bundle ID we just created
- Then, Select the Distribution certificate we created in step 1, Continue
- Lastly, enter a Provisioning Profile Name for identifying the profile.
- Click Generate
- Copyright – This is not a document per se as much as a declaration. You must include the app owner’s name along with the year under the copyright section. When your app is launched on the AppStore, It will have a copyright symbol under this name.
We will use this in Step 4 – Appstore listing
You can use existing documents from similar apps published in Appstore as references. There are also various websites such as Termify and Firebase that can help you create these documents.
Things to keep in mind
- Graphic assets are the first thing a customer sees on Appstore. It should be attractive as well as informative.
- We suggest you check the Apple Appstore website for the latest update since these policies keep changing.
- Before you select your app category, Study the existing category in Appstore to see if the results are where you want your app to appear.
- Please be specific in your descriptions and above all don’t overdo the keywords.
- While registering your Bundle ID, you can add capabilities to your app such as Apple Pay.
- All the information provided here can be changed at a later date.
Once you have all of this place. We are finally ready to submit your app on Apple Appstore. The next 3 steps are pretty straightforward.
Step 3 – Create Application Profile
Firstly, what you now have to do is create your app profile in the App Store Connect module.
After that, all the remaining steps in this process will happen in the App Store Connect module.
- Log in to App Store Connect
- Then, go to the “My Apps” section
- Click the + sign
- Then, New App
- Copy App Name – From Step 2
- Then, Select your language
- After that, The Bundle ID – From Step 2 (if you don’t see it, refresh the page)
- SKU – This is for internal use.
- Select – Full access (if you are an independent app developer)
- Finally, Click Create.
This will create a profile for your app. You are now ready to move to the next step.
Step 4 – Appstore Listing
After you click Create in the previous step, it will take you to another page, called the App Information page. This section is perhaps the most important as it gives the users all the information about your app. This is also where you will use all the assets and key app information, we created in step 2 before we started the process of submitting the iOS app on Appstore.
- Under App Name – Provide name created in Step 2
- Under Subtitle – Provide the app description created in Step 2
- Category – Provide the Primary and Secondary category for your app
- Bundle ID/ SKU and Language – would be pre-filled.
- After that, Fill out the Age Rating questionnaire.
- Then, Select – Pricing and Availability from the left-hand side menu
- Provide a price schedule – If your app is free, then select a category called CAD Free.
- Then, on the left-hand side menu – click Prepare for submission
- Here you can submit all the Graphic Assets we created in Step 2.
- After that Fill in all other details as per Step 2.
- Marketing URL is free marketing from Appstore – you can provide your website URL here.
- Ignore the Build section, we will come to this in the next step
- Then, move to General App Information
- App icon – Upload the app icon which we created in Step 2
- Copyright – Provide as per Step 2
- App Review Information – this is the section where you can provide information that the app reviewer can use to test your app before approving/rejecting it.
- Provide information eg – Demo user login details.
- Version-Release – If you have the want to release the app on a particular date, then you mention it here.
- Save the form.
Please note that the “Submit for Review” option will not be highlighted as yet. We will have to first upload the app build from Xcode.
This is the next and final step.
Step 4 – Appstore Listing
We are now at the final step of publishing your app on the Appstore. Since we have already established the link between your Xcode project and the App Store Connect in our previous steps. You can straightaway upload the .ipa file using Xcode to App Store Connect.
Please follow these steps
- Go back to Xcode, Open your project
- First and foremost, check all the version numbers and build numbers are correct.
- If this is your first upload, all of these would be 1
- Then, Click On the top menu – select Generic iOS Device from the target devices list.
- In the top menu, go to Product, Select – Archive. This will create the Build that will then show up on App Store Connect.
- On the right-hand side you will have 2 options, Distribute the app, Validate the app.
- Click Distribute the app.
- Then Choose – App Store Connect.
- Go through the wizard, leave all the default selections as is
- Finally, Select the Distribution Certificate and the App name from the drop-down list. Click Next.
- Verify the information and click Upload
- Once the upload is complete, click Done.
This exercise will upload the built version of your app into the App Store Connect module. After that, you will go back to the App Store Connect module to submit your app for review.
- Go to the Build Section, which we had left blank in the previous step – hit refresh.
- Then, you will see your app build that we uploaded from Xcode here.
- Select the build.
- Now you will see on the top left corner of your screen that the “Submit for Review” button is highlighted.
- Click “Submit for Review”
Finally, it’s done…
Congrats, your app has been submitted to be published on Appstore. Please bear in mind that this is only a submission. The Apple team will review this submission before releasing it in the Appstore as per your specified Version-Release information. Realistically it takes up to 2 days, however, Apple says the review process could take up to 7 days or even longer.
You’ll receive a notification by email, once the app is reviewed.
Reasons for Rejection
Building an app from scratch is in itself a monumental effort, uploading it on Appstore is yet another feat. The last thing you want after going through the entire process is to have your app rejected by Apple.
Here are the top 3 reasons why Apple may reject your app.
- App Crashes, Bugs, Bad User Experience –The Google Playstore may have more apps but as far as user interface and user experience go the Apple Appstore has been constantly rated higher. It is, therefore, no surprise that Apple has strict guidelines and one of the lowest tolerances when it comes to this aspect. Apple has reported that bugs, unfinished or undercooked apps with broken functionality and hyperlinks, inaccurate or misleading information are the top reason for app rejection.
- Plagiarism – This remains one of the top reasons for app rejection across all marketplace app stores. In other words, everything about your app must be unique and original.
We hope the article was useful in helping you publish your app on the Apple Appstore. Remember that the journey does not stop at publishing. Running a mobile application is a process of continuous improvement. Persistent effort and improvement are required to keep it trending. Watch this space for more such articles.