Deploying to the App Store

Michael Dacanay
5 min readJun 20, 2023

--

The documentation is so convoluted and frustrating, at least it felt that way to me. Hope this helps others out. I am doing this retroactively, so some pages may look different if you don’t have the membership yet.

  1. Purchase Apple Developer membership
https://developer.apple.com/account

Enroll as individual.

https://developer.apple.com/programs/enroll/
https://developer.apple.com/app-store/review/

Just documentation, but no submission form. You need to actually enroll in the Apple Developer Program first, before you get access to the App Store Connect:

App Store Connect

https://appstoreconnect.apple.com/

The App Store Connect is where you actually see the process of submitting an app. The main Apple website itself is not all that useful in terms of understanding the process and seems to only serve as marketing.

Go to My Apps.

https://appstoreconnect.apple.com/apps

2. Start App Submission

Go to App Store Connect and click “Add Apps”.

Add iOS app

Find the Bundle ID:

Project Navigator (left bar) > blue Project icon > Targets > Build Settings > Packaging > Product Bundle Id

3. Fill out app details

This is quite a work of labor, filling out all the details takes a good 1–2 hours.

https://developer.apple.com/app-store/product-page/

You might see this page, but it basically is a beautified staging of what the app’s page will look like on the App Store.

The actual page where you fill in the details is in App Store Connect and looks like this:

App Store Connect > iOS App submission

Fill out the information (unless it explicitly states Optional) under each page in the General section (left bar).

4. Generate app archive from Xcode and export to App Store Connect

https://developer.apple.com/help/app-store-connect/manage-builds/upload-builds
https://developer.apple.com/documentation/xcode/distributing-your-app-for-beta-testing-and-releases#Create-an-archive-of-your-app

For some reason, the Archive option in the Xcode Product menu was greyed out. After some frustration, I stumbled upon how to enable it…

Product > Archive is greyed out

Select Build.

Select a Build as output instead of iOS Simulator

Now Archive is available as an option:

Product > Archive is not greyed out

After the app archive is generated, you can “Validate” the app, to check if it passes a subset of Apple’s tests.

Xcode menu bar > Window > Archives
Validate App succeeds

After validating, select “Distribute App”.

Select “App Store Connect” (recommended) to directly show up in your App Store Connect submission application. Alternatively, select “Development” to export the source code locally.

If Development is selected, the exported source code files look like this:

App archive source code

The .ipa (iOS App Store Package) file is the file format used to distribute and install iOS applications on iPhones, iPads, and iPod Touch devices. It is essentially an archive file that contains the compiled binary of the iOS app, along with other assets and resources needed to run the app on an iOS device.

Final window before distributing the app archive in desired method.

I left most of the options as the default values
App archive uploaded to App Store Connect
Select the build (uploaded previously)

5. Submit for Review

App Review confirmation

App has been submitted for review!

https://appstoreconnect.apple.com/apps/6450433975/appstore/reviewsubmissions/details/0676c059-4ed5-4372-b206-0fb54e0113b3

In App Store Connect, you can view the history:

Version 1.0 submission to review

To access the app archive later, open Xcode > Window > Organizer:

Window > Organizer to open Archives window

Here is a more developer-friendly documentation:

https://developer.apple.com/help/app-store-connect/manage-your-apps-availability/overview-of-publishing-your-app/
https://developer.apple.com/help/app-store-connect/provide-tax-information/tax-forms-overview/

High-level overview:

Step 1:
- change password/update password
- data privacy statement
- user settings
- compatible with all iPhones, scrolling, etc.

Requirements:
- Get Apple developer account/pay $99
- D-U-N-S Number [not sure]
- Legal Entity Status [business]
- Legal Binding Authority [not sure]
- Website [good]

Step 2:
- unique bundle id (cannot change)
- app version number and build string — [Major].[Minor].[Patch], such as 9.12.1.
- app category: Productivity

Step 3: https://developer.apple.com/app-store-connect/
- https://developer.apple.com/programs/enroll/

Step 4 — Capture App Store Screenshots
- screenshots, then mockup template

Step 5 — Upload the App Using Xcode
- version should be set to 1.0.0
1. creating a full app archive: Go to your list of simulators in Xcode and click “Generic iOS Device” > “Product” > “Archive.” > Xcode to bundle your app (LONG TIME)
2. “Archives” tab, and click “Distribute App” on the right side of your screen > “iOS App Store” as method of distribution

Step 6 — Submit the App for Review
- get an email when the archive is officially processed and ready for you
- select archive, click the “Submit for Review” button at the top right
- 50% of apps get reviewed within 24 hours and 90% are reviewed in 48 hours

https://developer.apple.com/app-store/review/
https://buildfire.com/how-to-publish-an-app-to-the-app-store/

--

--

Michael Dacanay
Michael Dacanay

Written by Michael Dacanay

Intern at Tesla, Fidelity. Student at North Carolina State University