# How to publish an app on the App Store, step by step (2026)

> To publish on the App Store you join the Apple Developer Program (99 USD a year), sign the agreements, create the app record in App Store Connect, upload a build from Xcode, test it in TestFlight, fill in the required metadata, privacy answers and screenshots, then submit for review, which Apple says finishes for 90% of submissions within 48 hours.

Uptika team · Published: 2026-11-05 · Last updated: 2026-11-05 · https://uptika.app/en/guides/publish-app-app-store

## What are the steps to publish an app on the App Store?

Publishing on the App Store is nine steps. Most of the work is in App Store Connect, Apple's web panel for apps; the only wait you cannot control is App Review.

| Step | Where | Typical blocker |
|---|---|---|
| 1. Membership | Apple Developer Program enrollment | Name or company details that do not match records |
| 2. Agreements and trader status | App Store Connect, Business | Unsigned agreement blocks creating apps |
| 3. App record | App Store Connect, Apps, + New App | Bundle ID not registered yet |
| 4. Build upload | Xcode, Archive, Distribute | Missing export compliance answer |
| 5. TestFlight | App Store Connect, TestFlight | First external build needs beta review |
| 6. Store page and metadata | App Store Connect, the version page | Screenshots, support URL, privacy policy |
| 7. App Privacy and age rating | App Information, App Privacy | Answers that do not match the app |
| 8. Submit for review | Add for Review, Submit for Review | No demo account for a login app |
| 9. Release | Version release settings | Releasing before you are ready |

## Step 1: Join the Apple Developer Program

The membership is **99 USD per membership year**, listed in local currency during enrollment. Enroll as an individual (your legal name appears as the seller) or as an organization (needs a D-U-N-S Number, legal entity status, a domain email and a public website). The choice and the paperwork are explained in [Apple Developer account](https://uptika.app/en/guides/apple-developer-account).

## Step 2: Sign agreements and declare trader status

In App Store Connect, open **Business**. The Account Holder must accept the latest agreement; Apple does not let you add an app until it is signed. If the app is paid or sells in-app purchases, complete the Paid Apps agreement with tax and banking information too.

Every developer must also declare an **EU Digital Services Act trader status**, even without EU distribution plans. Traders' address, phone and email appear on the EU product page.

## Step 3: Create the app record

Register the app's **bundle ID** in Certificates, Identifiers & Profiles (or let Xcode do it), then in App Store Connect go to **Apps**, click **+**, choose **New App** and enter:

- **Platforms**: iOS, macOS, tvOS, visionOS (one or more).
- **Name**: 2 to 30 characters, unique on the App Store per localization.
- **Primary language**: the fallback language of your store page.
- **Bundle ID**: must match the build exactly.
- **SKU**: your own internal reference, never shown to users.
- **User access**: full or limited to chosen team members.

The new record appears with the status **Prepare for Submission**. Only the Account Holder, Admin or App Manager can create it.

## Step 4: Upload a build

In Xcode, set the version and build number, choose a real-device destination, then **Product, Archive** and **Distribute App** to App Store Connect. After processing, the build appears under the app's TestFlight tab.

Answer **export compliance** once per build, or put the `ITSAppUsesNonExemptEncryption` key in Info.plist so Xcode answers it for you. A build waiting for that answer cannot be tested or submitted.

## Step 5: Test in TestFlight

- **Internal testers**: up to 100 members of your App Store Connect team, no review needed.
- **External testers**: up to 10,000 per app, by email or a public link. The first build needs a TestFlight review.
- Each build can be tested for **90 days**.

Test the exact build you will submit, on a clean install and on the oldest iOS version you support. The full walkthrough is in the [TestFlight guide](https://uptika.app/en/guides/testflight-guide).

## Step 6: Fill in the store page and metadata

Open the version page (for example **iOS App 1.0**) and the App Information page. The fields and limits Apple sets:

| Field | Limit or rule | Required |
|---|---|---|
| Name | 2 to 30 characters | Yes |
| Subtitle | Up to 30 characters | No, but indexed for search |
| Keywords | Up to 100 bytes, comma-separated, no spaces after commas | No, but key for search |
| Promotional text | Up to 170 characters, editable without a new version | No |
| Description | Up to 4,000 characters, plain text | Yes |
| What's New | Up to 4,000 characters; not on the first version | From the second version |
| Support URL | A working page | Yes |
| Privacy policy URL | Public URL | Yes |
| Copyright | For example "2026 Your Company" | Yes |
| Primary category | One of Apple's categories; a secondary is optional | Yes |
| App Review notes | Up to 4,000 bytes; a non-expiring demo account if login is required | Demo account if login exists |

Keywords are counted in **bytes**, not characters, so letters such as ç, ş, ü or ß take more than one. Do not repeat words that are already in the name, subtitle or category.

**Screenshots** follow Apple's screenshot specifications: 1 to 10 images per device size, JPEG or PNG, no transparency. For submission Apple asks for an iPhone set and, if the app supports iPad, a 13-inch iPad set (2064 x 2752 or 2048 x 2732 portrait). Apple's page lists the iPhone requirement under its Dynamic Island sizes (1179 x 2556 or 1206 x 2622 portrait) and also accepts 6.9-inch images (1260 x 2736, 1290 x 2796 or 1320 x 2868). When your interface is the same across devices, upload the largest required size and App Store Connect scales it down for smaller devices. A safe set in 2026 is 1320 x 2868 plus 1206 x 2622.

## Step 7: App Privacy, age rating and availability

- **App Privacy**: declare the data types you collect and how they are used. This produces the privacy label on the product page and must match your SDKs as well as your own code.
- **Age rating**: answer the questionnaire in App Information.
- **Pricing and Availability**: free or a price tier, and the countries and regions.
- **Content rights**: confirm whether the app uses third-party content.
- **In-app purchases and subscriptions**: create them, complete their metadata and review screenshot, and add them to the same submission as the version.

## Step 8: Submit for review

On the version page, check the **Build** section shows the right build, then click **Add for Review** (status becomes **Ready for Review**) and **Submit for Review** (status becomes **Waiting for Review**, then **In Review**). Each platform can have one app version in review at a time.

Apple says App Review typically reviews **at least 50% of submissions in less than 24 hours and 90% in less than 48 hours**. Complex apps, new issues or repeated rejections for the same guideline take longer. If you have a critical bug or a dated event, you can request an expedited review. Details are in [App Store review time](https://uptika.app/en/guides/app-store-review-time).

The rejections that hit first submissions most often:

- **2.1 App Completeness**: crashes, placeholder content, broken links, or no demo account for a login.
- **2.3 Accurate Metadata**: screenshots that do not show the app, or mentions of other platforms.
- **5.1.1 Data Collection**: missing account deletion when you offer account creation, or permission texts that do not explain the use.
- **4.3 Spam**: an app too similar to many others or to your own apps.

If you are rejected, answer in App Store Connect from the App Review message, fix and resubmit; if you believe the reviewer misunderstood, you can appeal to the App Review Board.

## Step 9: Release

Choose the release option on the version page before you submit:

- **Manually release this version**: after approval the status is **Pending Developer Release** and you click **Release This Version**.
- **Automatically release this version**: goes live on approval.
- **Automatically release this version after App Review, no earlier than** a date and time you pick.

After release it can take **up to 24 hours** for the app to appear on all storefronts. For updates, you can turn on **phased release** so automatic updates reach users over 7 days; see [phased release and staged rollout](https://uptika.app/en/guides/phased-release-staged-rollout).

## Pre-submission checklist

- Agreements signed, trader status declared, Paid Apps agreement done if you sell.
- Build processed, export compliance answered, tested in TestFlight on a clean install.
- Name, subtitle and keyword field written for search, within limits.
- Description, support URL, privacy policy URL and copyright filled in.
- Screenshots for every required device size, showing the real app.
- App Privacy answers match every SDK in the app.
- Demo account and review notes for any login or hidden feature.
- In-app purchases attached to the submission.
- Release option chosen on purpose.

## Publishing on Android too?

Google Play has a one-time 25 USD fee, different review timing and, for new personal accounts, a 12-tester closed test. Follow [How to publish an app on Google Play](https://uptika.app/en/guides/publish-app-google-play) for the parallel path, and see [What is App Store Connect?](https://uptika.app/en/guides/what-is-app-store-connect) if the panel itself is new.

## What should you watch after launch?

The first weeks decide which searches your app ranks for. Uptika's **Keyword radar** reads your App Store rank for each keyword every day in the first 200 results, per country, and **Search mirror** shows how your name, subtitle and screenshots look in a real search result next to rivals. When you ship new store text, Uptika watches the public page and alerts you the day it goes live. Start on the [free plan](https://uptika.app/app/#/?signup=1): one app, one storefront, 10 keywords. Before you submit, the free [Metadata Linter](https://uptika.app/en/tools/metadata-linter) checks limits, repeated words and risky claims in your browser.

## Questions

### How much does it cost to publish an app on the App Store?

The Apple Developer Program costs 99 USD per membership year, shown in local currency where Apple prices locally. There is no extra fee per app. Apple takes a commission only on paid apps and in-app purchases.

### Can I publish on the App Store for free?

No. Publishing needs the paid membership. A free Apple Account lets you build in Xcode and test on your own device, but not use App Store Connect or TestFlight. Nonprofits, accredited educational institutions and government entities can request a fee waiver.

### How long does App Store review take?

Apple says App Review typically reviews at least 50% of submissions in less than 24 hours and 90% in less than 48 hours. After approval, a release can take up to 24 hours to appear on every storefront.

### Do I need a Mac to publish on the App Store?

You need a way to build and upload with Xcode, which runs on macOS. Cloud build services can do the build for you, but the app still goes through App Store Connect and App Review in the same way.

### Which screenshots are required in 2026?

At least one iPhone screenshot set and, if the app runs on iPad, one 13-inch iPad set; 1 to 10 images per size, JPEG or PNG without transparency. Uploading the largest iPhone size lets App Store Connect scale it down for smaller devices when your interface is the same.

### Can I choose the exact release day?

Yes. In the version's release settings you can release manually after approval, automatically on approval, or automatically but no earlier than a date and time you set.

## Sources

- [Enrollment (Apple Developer Program)](https://developer.apple.com/programs/enroll/)
- [Add a new app (App Store Connect Help)](https://developer.apple.com/help/app-store-connect/create-an-app-record/add-a-new-app)
- [Required, localizable and editable properties (App Store Connect Help)](https://developer.apple.com/help/app-store-connect/reference/app-information/required-localizable-and-editable-properties)
- [Platform version information (App Store Connect Help)](https://developer.apple.com/help/app-store-connect/reference/app-information/platform-version-information)
- [App information (App Store Connect Help)](https://developer.apple.com/help/app-store-connect/reference/app-information/app-information)
- [Screenshot specifications (App Store Connect Help)](https://developer.apple.com/help/app-store-connect/reference/app-information/screenshot-specifications)
- [Submit an app (App Store Connect Help)](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/submit-an-app)
- [Overview of submitting for review (App Store Connect Help)](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/overview-of-submitting-for-review)
- [Select an App Store version release option (App Store Connect Help)](https://developer.apple.com/help/app-store-connect/manage-your-apps-availability/select-an-app-store-version-release-option)
- [App Review (Apple Developer)](https://developer.apple.com/distribute/app-review/)
- [App Review Guidelines (Apple Developer)](https://developer.apple.com/app-store/review/guidelines/)
- [ITSAppUsesNonExemptEncryption (Apple Developer Documentation)](https://developer.apple.com/documentation/bundleresources/information-property-list/itsappusesnonexemptencryption)

---

Uptika is an ASO and store-intelligence tool for the App Store and Google Play. https://uptika.app/en
