Skip to main content
This is the one page that walks you through submission in order, from “I have a finished app” to “it’s live in the store.” If you’ve never shipped an app before, follow it top to bottom. There are two separate submissions — iOS (Apple App Store) and Android (Google Play Store). They’re independent. You can do one, the other, or both. Each has its own developer account, its own build, and its own review.
Set aside time. Getting the accounts approved and the first build through review usually takes a few days end to end — most of that is waiting on Apple/Google, not work on your side. This is normal. You are not stuck.

Before you start (both platforms)

Do these once, before you touch either store. They apply to iOS and Android alike.
1

Finish and test your app

Submission is not the time to discover bugs. Test the real flows on a real device — sign-up/login, the main features, payments if you have them. See Preview vs Builds for how a store build differs from the preview.
2

Set your app name and icon

In Newly: More → Project Settings. Upload a 1024×1024 PNG icon (no transparency for iOS) and set the final app name. See Deployment → App Configuration.
3

Deploy your backend to production (if you use Liquid Backend)

Open the Deploy modal → Backend section → Push to Production. Your production app must point at the production backend, so do this before you build the app you’ll submit. Details: Backend deployment.
4

Have a privacy policy URL ready

Both stores require a public privacy policy link for essentially every app. Have the URL on hand before you start the listing.
5

Check for special entitlements — apply EARLY

If your app uses a gated capability (Family Controls / Screen Time, Critical Alerts, CarPlay, clinical Health Records, or Android restricted permissions like background location), you must apply for approval before submitting or the store will reject you. This approval can take time, so start it now. See Permissions & Entitlements.

iOS — Apple App Store

Step 1 — Enroll in the Apple Developer Program

You need a paid Apple Developer Program membership — $99/year. A free Apple ID is not enough. Enrollment can take anywhere from a few hours to a couple of days for Apple to approve, so do this first.

Step 2 — Open the Deploy modal and start an iOS build

In your Newly project, click Deploy, then Build & Deploy, and select iOS. The Apple Credentials section appears.

Step 3 — Connect your Apple account

Use Automatic setup (recommended):
  1. Enter your Apple ID email and password.
  2. Complete two-factor authentication when prompted.
  3. Select your team from your Apple account.
  4. Newly auto-provisions the required keys — you’ll see a checkmark appear for each one.
  5. Select or create your app — Newly pre-fills the name and bundle ID from your project.
Prefer to manage your own keys? Use Manual setup instead. Full detail on both paths, and what each key is for, is in App Store Connect Setup.
You only connect your Apple account once. Credentials are stored encrypted and reused across all your Newly projects.

Step 4 — Confirm your app details

Before building, confirm:

Step 5 — Build and submit

Click Build. Newly compiles your app (typically 5–15 minutes) and submits the build to App Store Connect automatically. When it finishes, the build shows up in your App Store Connect account. Once the build lands in App Store Connect, install it via TestFlight on a real iPhone and run through everything one more time. Catching a crash here is free; catching it in review costs you days.

Step 7 — Fill out your App Store listing

In App Store Connect, open your app and complete the listing. This is the part people forget is separate from the build:
  • Screenshots — required for each required device size
  • Description — clear and accurate; don’t oversell features you don’t have
  • Keywords
  • Privacy Policy URL
  • App Privacy questionnaire — declare what data you collect
  • Age rating — answer the questionnaire honestly
  • Review notesif your app requires login, provide a working demo account (username + password). Missing demo credentials is one of the most common rejection reasons.
Newly’s Marketing Studio can help generate store screenshots. See Marketing Studio.

Step 8 — Submit for review

Attach your build to the version and click Submit for Review. Apple review typically takes 1–3 days.

Step 9 — Respond to the result

  • Approved → release it (immediately or on a date you choose). 🎉
  • Rejected → read the reason carefully. Most rejections are fixable: paste the reason to the AI in Newly, fix it, rebuild, and resubmit. You can also reply to the reviewer in the Resolution Center. See Handling rejections below.

Android — Google Play Store

Step 1 — Create a Google Play Developer account

Sign up for a Google Play Developer account — a one-time $25 fee. Google verifies your identity, which can take a day or two.

Step 2 — Deploy your backend to production

Same as iOS — if you use Liquid Backend, push it to production before building. See Backend deployment.

Step 3 — Confirm your app details and build an AAB

In the Deploy modal, choose Build AAB (the Android App Bundle is the format the Play Store requires). Confirm:
  • App name
  • Package name (e.g. com.yourname.appname)
  • Version number
Your package name cannot be changed after your first Play Store submission. Choose it carefully.
Wait for the AAB to compile, then download it.

Step 4 — Create your app in the Play Console and upload the AAB

In the Google Play Console, create a new app, then upload your downloaded .aab file to a release (start with Internal testing if you want to trial it first, or Production to go live).

Step 5 — Complete your store listing

Play requires more listing pieces than most people expect:
  • Screenshots — at least 2 (up to 8)
  • Feature graphic — a 1024×500 banner image
  • App icon — 512×512 PNG
  • Short and full description
  • Privacy Policy URL
  • Content rating — complete the questionnaire
  • Target audience — specify correctly
  • Data safety form — declare what data you collect and how it’s used

Step 6 — Submit for review

Roll out the release and submit. Google review times vary — often a day or two, but first submissions from a new account can take longer.

Pre-submission checklist

Run through this before you hit submit on either store:
  • Apple Developer Program active ($99/yr) — for iOS
  • Google Play Developer account active ($25 once) — for Android
  • Tested on a real device (TestFlight for iOS)
  • Final app name and icon set
  • Correct bundle ID / package name (these are hard to change later)
  • Version number set
  • Backend pushed to production (if using Liquid Backend)
  • Any special entitlements already approved
  • Screenshots for all required sizes
  • Description, keywords/short description
  • Privacy policy URL live and reachable
  • Age / content rating completed
  • Privacy / data-safety questionnaire completed
  • Demo account provided in review notes (if login is required)

Handling rejections

A rejection is routine — plenty of apps are rejected on the first try. It’s not the end.
  1. Read the exact reason the store gives you.
  2. Paste that reason to the AI in Newly and ask it to help fix the issue.
  3. Rebuild and resubmit.
  4. If you disagree or need to clarify, reply to the reviewer (Apple’s Resolution Center / Play’s policy contact).
The most common causes:
  • Crashes or bugs during review
  • Incomplete or broken functionality
  • No working demo account for a login-gated app
  • Missing or unreachable privacy policy
  • Misleading metadata / screenshots
  • Guideline or policy violations
More detail: Deployment → Troubleshooting & rejections.

App Deployment

Reference for how Newly builds and ships your app

App Store Connect Setup

Connecting your Apple account and keys in depth

Permissions & Entitlements

Apply for gated Apple entitlements and Android permissions

Changing your Bundle ID

The two-step update if you rename your bundle ID

Marketing Studio

Generate store screenshots and marketing assets

Preview vs Builds

How a store build differs from the in-app preview