1. Home
  2. Insights
  3. Web Development

How to Publish an App: App Store and Google Play, Step by Step

A step-by-step guide to publishing on the App Store and Google Play: accounts and fees, listing assets, privacy forms, testing tracks, review and release.

Abstract cover illustration for a step-by-step guide to publishing an app on the App Store and Google Play, with the title and short facts about fees and testing.
Illustration: Apex Logic
On this page
  1. App Store vs Google Play publishing at a glance
  2. Step 1: Create your developer accounts
  3. Step 2: Prepare a release build
  4. Step 3: Create the store listing
  5. Step 4: Complete the privacy and content forms
  6. Step 5: Test with TestFlight and Google Play testing tracks
  7. Step 6: Submit for review
  8. Common app rejection reasons and how to avoid them
  9. Step 7: Release the app and ship updates
  10. Pre-submission checklist
  11. Need a hand with the launch?
  12. Publishing an app: FAQ

Quick answer

To publish an app, join the Apple Developer Program (99 USD per membership year as of July 2026) and open a Google Play Console account (a one-time US$25 fee), then prepare signed builds, complete each store listing and privacy form, test with TestFlight and Play testing tracks, and submit for review. New personal Google Play accounts must first run a closed test with at least 12 testers for 14 days before they can apply for production access.

  • Apple: 99 USD per membership year; Google Play: US$25 once (July 2026)
  • New personal Play accounts need 12 testers opted in for 14 days
  • Both stores require privacy disclosures and in-app account deletion
  • Apple says over 40% of unresolved issues are about app completeness

To publish an app, you need a developer account on each store, a signed release build, a store listing with privacy disclosures, a round of testing and an approved review. As of July 2026, the Apple Developer Program costs 99 USD per membership year and a Google Play Console account costs a one-time US$25. Apple says that on average 90% of submissions are reviewed in less than 24 hours, while Google says reviews for some developer accounts can take up to seven days or longer.

One rule catches many first-time Android publishers: a personal Google Play account created after 13 November 2023 must run a closed test with at least 12 testers, opted in for the last 14 days without a break, before it can apply for production access. Start testing at least two weeks before launch. The steps below follow the order you will work in, with a full checklist at the end.

App Store vs Google Play publishing at a glance

Requirements as of July 2026.

StepApple App StoreGoogle Play
Account fee99 USD per membership year, with waivers for eligible nonprofits, accredited educational institutions and government entitiesUS$25, one time
BuildXcode 26 or later with the iOS 26 SDKAndroid App Bundle targeting API level 35 or higher
PrivacyApp Privacy details and a privacy policy URLData safety form and a privacy policy, even if you collect no data
Beta testingTestFlight: 100 internal and 10,000 external testersInternal (up to 100 testers), closed and open tracks
New account ruleNo equivalent rulePersonal accounts: 12 testers for 14 days
Review timeOn average 90% in under 24 hoursUp to seven days or longer for some accounts

Step 1: Create your developer accounts

Apple Developer Program

  • Individuals need an Apple Account with two-factor authentication turned on, in their legal name.
  • Organizations must be a legal entity (no DBAs or trade names) with a D-U-N-S Number, a work email and a public website on the company domain. The person enrolling must have authority to sign legal agreements.
  • Fee: 99 USD per membership year as of July 2026, shown in local currency at checkout. Eligible nonprofits, accredited educational institutions and government entities can request a waiver.
  • Selling: to sell the app or offer in-app purchases, the Account Holder must also sign the Paid Apps Agreement in App Store Connect.

Google Play Console

  • Sign up with a Google Account (you must be at least 18), accept the Developer Distribution Agreement and pay the US$25 fee by credit or debit card (not prepaid).
  • Choose a personal or organization account; both have the same features. Organization accounts need a D-U-N-S number, and Google says to choose one for financial, health, VPN and government apps.
  • Expect identity checks: you may be asked for a government ID and a card in your legal name. New personal accounts must also verify access to an Android device through the Play Console mobile app.

Open both accounts in the business's name and add developers as users; our guide to hiring a development agency explains why ownership matters.

Step 2: Prepare a release build

  • Permanent IDs. Apple does not let you change the bundle ID after you upload a build, and Google Play treats an upload with a new application ID as a completely different app.
  • iOS SDK. Since 28 April 2026, apps uploaded to App Store Connect must be built with Xcode 26 or later using the iOS 26 SDK, or the matching SDK for other Apple platforms.
  • Android target API. As of July 2026, new apps and updates must target Android 15 (API level 35) or higher, and Google has announced Android 16 (API level 36) from 31 August 2026, with extensions to 1 November 2026. If you are launching now, target API level 36.
  • Android format. New apps must be published as an Android App Bundle (.aab), which leaves APK generation and signing to Google Play.
  • Build numbers. Every upload needs a new, higher build number, and Google Play refuses a versionCode you have already used.

Where the version and build numbers live, with illustrative values:

# Flutter, pubspec.yaml: version name, then + build number
version: 1.3.0+12
// Native Android, app/build.gradle.kts
android {
    namespace = "com.example.myapp"
    compileSdk = 36

    defaultConfig {
        applicationId = "com.example.myapp"
        minSdk = 24
        targetSdk = 36
        versionCode = 12
        versionName = "1.3.0"
    }
}

Expo uses version, ios.buildNumber and android.versionCode in its app config; native iOS projects use the Version and Build fields in Xcode.

Step 3: Create the store listing

Field rules as of July 2026.

App Store Connect listing

FieldRule
App name2 to 30 characters
SubtitleUp to 30 characters
Promotional textUp to 170 characters; can be changed without a new submission
DescriptionUp to 4,000 characters, plain text
KeywordsUp to 100 bytes; no other app or company names
Screenshots1 to 10 per display size, JPEG or PNG, no transparency; a 6.9-inch (or 6.5-inch) iPhone set, plus a 13-inch iPad set if the app runs on iPad
Privacy policy URLRequired for iOS and macOS apps
Support URLRequired, and it must lead to real contact information

Google Play Console listing

FieldRule
App name30 characters or less
Short description80 characters or less
Full descriptionUp to 4,000 characters
App icon512 x 512 px, 32-bit PNG with alpha, up to 1024 KB, with no badges or text that suggest ranking or price
Feature graphicRequired; 1024 x 500 px, JPEG or 24-bit PNG without alpha
ScreenshotsAt least 2 across device types, up to 8 per device type; JPEG or 24-bit PNG, sides between 320 px and 3840 px, long side no more than twice the short side

Screenshots must show the real app. Apple's guideline 2.3.3 says they should show the app in use, not just the title art, login page or splash screen. On Google Play, apps need at least four screenshots of 1080 px or more to be eligible for some recommendation spots.

Step 4: Complete the privacy and content forms

  • Apple App Privacy details. Declare the data you and your third-party partners (analytics, ad networks, SDKs) collect, how it is used and whether it is used for tracking. You can change the answers later without a new build. Apple's guideline 5.1.1 also requires a privacy policy link inside the app.
  • Privacy manifests. Since 1 May 2024, Apple requires approved reasons for a listed set of APIs used by your code, including third-party SDKs, before it accepts an upload.
  • Google Play Data safety. Every app must complete the form, even one that collects no data, and you need a privacy policy to do it. Include data handled by third-party SDKs; Google can take enforcement action when declarations do not match the app.
  • Account deletion. If users can create an account in your app, they must be able to start deleting it inside the app; Apple has required this since 30 June 2022, and deactivation is not enough. Google Play also requires a web link for deletion requests.
  • Google Play App content. Declare ads, give reviewers sign-in details, set your target audience, complete the content rating questionnaire so the app is not listed as unrated, and fill in forms such as the permissions declaration.
  • Apple age rating. Answer the age rating questionnaire. Ratings are now 4+, 9+, 13+, 16+ and 18+, and the new questions had to be answered by 31 January 2026.
  • EU trader status. Since 17 February 2025, Apple removes apps without verified trader status from the App Store in the EU, under the Digital Services Act.

Keep the privacy policy, permission prompts and both forms consistent; Apple lists privacy policy issues and unclear data access requests among its common review problems. For the server side, see securing a web application.

Step 5: Test with TestFlight and Google Play testing tracks

TestFlight on iOS

  • Add up to 100 internal testers from your App Store Connect team, and invite up to 10,000 external testers by email or public link.
  • The first build you add to an external group goes through App Review, so prepare a beta app description and review information.
  • Each build can be tested for up to 90 days.

Google Play testing tracks

  • Internal testing: up to 100 testers, with builds normally available within seconds, even before you finish setting up the app.
  • Closed testing: a wider group of testers you control. This is the track that counts for the new-account rule.
  • Open testing: anyone can join from Google Play. For new personal accounts it only becomes available after production access.
  • Pre-launch report: Google runs uploaded builds on test devices and reports crashes and ANRs, compatibility, performance and accessibility issues. Our accessibility basics apply to apps too.

The 12 testers for 14 days rule

For personal accounts created after 13 November 2023, the closed test needs at least 12 testers who have stayed opted in for the last 14 days continuously. Recruit more than 12, because anyone who drops out breaks the count. Then click Apply for production on the Play Console Dashboard and answer questions about the test, the app and its readiness. Organization accounts are not covered.

Step 6: Submit for review

  • App Review Information (Apple). Give a working demo account if features need sign-in, explain any special setup, keep contact details current and describe new features in the Notes for Review.
  • Export compliance (Apple). Answer the encryption questions, which decide whether you must provide encryption documentation.
  • App access (Google). If parts of the app sit behind a login, give reviewers everything they need to get in.
  • Send changes for review (Google). Pending changes appear on the Publishing overview page and are not sent for review automatically.
  • Expedited review and appeals (Apple). You can ask for an expedited review for a critical bug fix or an event deadline, and appeal a rejection to the App Review Board.

Common app rejection reasons and how to avoid them

Apple says that on average over 40% of unresolved issues relate to guideline 2.1, App Completeness, which covers crashes, placeholder content and incomplete information.

ProblemStore ruleHow to avoid it
Crashes, bugs, placeholder text, broken linksApple 2.1Test release builds on devices running the latest OS, remove test content and check every link
Reviewer cannot sign inApple 2.1, Google App accessProvide a working demo account and any setup steps
Screenshots or description that do not match the appApple 2.3, Google Metadata policyUse real screens and describe only features that exist
App is a thin wrapper around a websiteApple 4.2 Minimum FunctionalityAdd real app value, such as offline use, notifications or device features
Privacy gaps: no policy link, vague permission prompts, SDKs missing from the forms, no account deletionApple 5.1.1, Google Data safetyLink the policy in the store and the app, explain each permission, list every SDK and add in-app deletion
Social login with no private alternativeApple 4.8 Login ServicesAlso offer a login that limits data to name and email, lets users keep their email private and does not track for ads without consent

If your app is mostly a website in a wrapper, a progressive web app may fit better; see PWA vs native app.

Step 7: Release the app and ship updates

  • Apple release options. After approval, release manually, automatically, or automatically but no earlier than a date you choose.
  • Apple phased release. For updates, phased release reaches users with automatic updates over 7 days: 1%, 2%, 5%, 10%, 20%, 50% and then 100%. You can pause for up to 30 days in total, and anyone can still download the update manually.
  • Google staged rollouts. Choose the percentage of users who get an update and raise it yourself, because it does not increase automatically. Halt it if something goes wrong. Staged rollouts work for updates only, and managed publishing lets you control exactly when approved changes go live.
  • Every year. Google raises the target API level every year and Apple periodically raises the minimum SDK for uploads, so plan at least one compliance release a year.

Pre-submission checklist

Accounts

  • Both accounts active, verified and owned by the business
  • Paid Apps Agreement signed if you sell anything

Build

  • iOS build from Xcode 26 or later; Android App Bundle targeting API level 35 or higher, ideally 36
  • Final bundle ID and application ID, and a new build number
  • Release build tested on real devices, with no test servers, debug menus or placeholder text

Store listing

  • Text fields within the limits above
  • Screenshots in every required size, showing the real app
  • Google Play icon and feature graphic
  • Support URL with real contact details, and a privacy policy URL
  • Age rating and content rating questionnaires completed

Privacy and compliance

  • App Privacy details and Data safety answers that match the privacy policy and every SDK
  • Privacy manifest reasons, and a privacy policy link inside the app
  • In-app account deletion, plus a web deletion link for Google Play
  • Clear permission prompts, and EU trader status if you distribute in the EU

Testing and review

  • TestFlight round finished, and pre-launch report issues fixed
  • Closed test with 12 or more testers for 14 days (new personal Play accounts)
  • Demo account and review notes ready for both stores
  • Release option and rollout plan chosen

Need a hand with the launch?

Publishing is careful admin on top of the build, and one missed form can hold up a launch. If you would rather hand it off, we can prepare the builds, listings and privacy forms under your own accounts as part of our web and app development work. Get in touch and tell us where you are.

Publishing an app: FAQ

How much does it cost to publish an app?

As of July 2026, the store fees are small: 99 USD per membership year for Apple and a one-time US$25 for Google Play. The real costs are the build, design, testing and the time to prepare listings and privacy forms, and both stores take a commission on digital goods you sell. Our guide to mobile app costs covers the build side.

How long does App Store and Google Play review take?

Apple says that on average 90% of submissions are reviewed in less than 24 hours, though incomplete submissions take longer. Google publishes no typical time, but says some developer accounts get a more thorough review of up to seven days or longer. A new personal Google Play account also needs 14 days of closed testing before it can apply for production.

Do I need a Mac to publish an iPhone app?

For most teams, yes. Builds must come from Xcode 26 or later, and Xcode only runs on a Mac; Apple's other upload routes are Swift Playground, altool and Transporter. Teams without a Mac often use a hosted build service instead. Expo's EAS Submit, for example, uploads builds to both stores from any operating system.

Can I publish one codebase to both stores?

Yes. React Native and Flutter both produce a separate iOS build and Android build from one codebase, and each store reviews its own build. You still need two store listings, two sets of privacy disclosures and two release plans. Our React Native vs Flutter comparison explains how to choose between the two frameworks.

What should I do if my app is rejected?

Read the rejection message carefully and find the exact guideline or policy it mentions. Fix that issue, reply with a short note on what changed, and resubmit. If you think the reviewer misunderstood your app, ask for clarification first, then consider an appeal to Apple's App Review Board. Completeness problems such as crashes or a missing demo account are usually quick to fix.

Sources

Need this done properly?

Apex Logic builds custom web apps, automation and AI features on a fixed quote, with 24 months of support and 100% code ownership.

Written by Ahtisham Arif

Apex Logic is a software studio in Multan, Pakistan that builds custom web apps, AI tools and automation for clients worldwide.

More from Ahtisham Arif

Comments

Loading comments...