You built an app with AI, it works in the browser, and now you want it on people's phones. This guide shows how to publish an AI-built app to the Apple App Store and Google Play in 2026: the developer accounts you need and what they cost, how the app gets packaged for each store, the testing rules that catch most first-time publishers, and what Apple and Google check in review. It uses Totalum's documented mobile flow as the worked example, with the exact API calls, and the steps apply to any builder that produces store-ready builds.

Want to follow along? Start building free on Totalum: describe your app, publish the web version, then build Android and iOS apps from the same project on any paid plan (from $29 a month).
Quick Answer
To publish an AI-built app to the App Store and Google Play: publish the web app, package it as a signed Android App Bundle (AAB) and a signed iOS IPA, create a Google Play developer account (US$25 once) and join the Apple Developer Program ($99 a year), upload the builds to Google Play's testing tracks and to TestFlight, test, fill in the store listings and privacy details, and submit for review.
- How long does it take? The builds take minutes. Google's testing rule (12 testers for 14 days on new personal accounts) and Apple's review are what set the calendar, so plan on two to three weeks for a first launch on Google Play.
- Do I need a Mac? Not with a builder that compiles iOS apps on its own servers. Totalum builds the signed IPA in the cloud.
- What does it cost? US$25 once for Google Play, $99 a year for Apple, plus your builder plan. On Totalum, mobile builds need a paid plan and are billed in credits by build time.
- Will Apple accept it? Only if the app is useful as an app. Apple's guideline 4.2 rejects apps that are just "a repackaged website", so give it app-like features before you submit.
Before you start: what you need
| Item | Google Play | Apple App Store |
|---|---|---|
| Developer account | Google Play Console, US$25 one-time registration fee | Apple Developer Program, $99 per year |
| Build format | Signed Android App Bundle (.aab) | Signed .ipa uploaded to App Store Connect |
| Signing | An upload key (keystore) | An App Store Connect API key (.p8) and a bundle id |
| Testing before launch | Closed test with 12 testers for 14 days (personal accounts created after November 13, 2023) | TestFlight (optional but strongly advised) |
| Technical rule to know | From August 31, 2026, new apps and updates must target Android 16 (API level 36) | Guideline 4.2: more than a repackaged website |
| Listing basics | App name, description, screenshots, privacy policy, data safety form | App name, description, screenshots, privacy policy link, privacy details |
Fees and rules read on Google's and Apple's developer pages on November 9, 2026.
Also have ready: a privacy policy URL, an app icon, screenshots from a phone, and a test account for reviewers if your app has sign-in.
Step 1: Make the web app work on a phone first
AI app builders usually start with a web app. Before you think about stores, open the published app on your phone and fix what feels wrong:
- Buttons large enough to tap, no sideways scrolling, forms that do not hide behind the keyboard.
- Sign-in that keeps users signed in.
- Pages that load quickly on mobile data.
On Totalum, ask the agent: "make it work as a mobile app". It prepares the project for the mobile build. Then publish: the mobile apps open the published site, so a project that has never been published cannot be built (the API answers MOBILE_REQUIRES_PUBLISHED_PROJECT).
Step 2: Understand what the store app actually is
There are three ways to put an app built from a web codebase into the stores:
| Approach | What the user installs | Pros | Cons |
|---|---|---|---|
| Native shell around the published app | A native app that opens your live web app | One codebase; a published change reaches web, Android and iOS together | Needs app-like features to pass Apple's 4.2 review |
| Cross-platform rewrite (Flutter, React Native) | A separate mobile codebase | Full device access | Two codebases to keep in sync |
| Fully native (Swift, Kotlin) | Separate native apps | Best performance and device access | The most work and cost |
Totalum uses the first approach. Android builds use a remote shell that loads the site; iOS builds use a hybrid shell, a bundled shell that loads the site. They are not fully native interfaces, and that is a deliberate trade: you keep one project, and every publish updates all three surfaces. For a comparison with builders that generate native code, see the AI mobile app builder page.
Step 3: Create your developer accounts
Google Play. Sign up for Play Console, accept the Developer Distribution Agreement and pay the US$25 one-time fee. Choose a personal or an organization account; personal accounts created after November 13, 2023 must run the closed test described in Step 6. Create the app in Play Console to reserve its package name (for example com.yourcompany.bookings).
Apple. Enroll in the Apple Developer Program ($99 a year), as an individual or an organization. In App Store Connect, create the app record with its bundle id, then create an App Store Connect API key (a .p8 file with a key id and issuer id) so a build service can upload for you.
Both accounts belong to you. Your builder only uses the keys you give it.
Step 4: Build the Android and iOS apps
You need two artifacts: an AAB for Google Play and a signed IPA for Apple. On Totalum you can start with test builds that need no developer account at all: an Android APK you install on a phone, or an iOS simulator build.
Here is the documented flow on the Totalum API (from the mobile apps documentation, read November 9, 2026). The same actions are available in the builder's interface.
1. Add an Android upload key. Upload your own keystore, or let Totalum generate one (RSA 4096, valid 25 years, alias upload) and download it once. Keep that file safe: Google ties your app's updates to it.
2. Add the iOS key. Send the App Store Connect API key: the .p8 text, its key id, the issuer id and the app's bundle id.
3. Start the builds:
curl -X POST \
-H "api-key: tlm_sk_your_key" \
-H "Content-Type: application/json" \
-d '{"platform":"android","artifact":"aab"}' \
https://builder-api.totalum.app/api/v1/vcaas/projects/barber-bookings/mobile/builds
The API answers 202 Accepted with the build queued:
{ "errors": null, "data": { "buildId": "mb_01k6y4", "status": "queued", "creditsReserved": 13.3, "creditsCharged": 13.3 } }
Run the same call with {"platform":"ios","artifact":"ipa"} for the signed iOS build. Then poll the build until its status is success, failed or cancelled. The documented example Android build ran from 13:00:10 to 13:06:40, about six and a half minutes.
What a build costs. Each build reserves 13.3 credits when it starts and settles on the real build time when it ends; a failed build gives the credits back and time spent in the queue is never charged. Each project can build once per hour. If you already pay for Codemagic, you can add your own Codemagic API token: builds then run on your Codemagic account with no queue or hourly limit, use no Totalum build credits, and Codemagic bills its own minutes.
Common errors and what they mean:
| Error | Meaning | Fix |
|---|---|---|
PLAN_REQUIRED |
Mobile builds need a paid plan | Upgrade (Starter is $29 a month) |
MOBILE_REQUIRES_PUBLISHED_PROJECT |
The app opens the published site | Publish the web app first |
SIGNING_NOT_CONFIGURED |
A signed build without a signing key | Add the Android keystore or iOS key |
MOBILE_BUILD_RATE_LIMITED |
One build per project per hour | Wait for the time in retryAt |
INSUFFICIENT_CREDITS |
Not enough credits for the reservation | Top up credits |
Ready to try it? Start building free on Totalum, publish your web app, and run your first test build on a paid plan.
Step 5: Upload to Google Play's testing track and to TestFlight
Connect each store once:
- Google Play: give Totalum a Play Console service-account key (the JSON file Google lets you download) with release rights on the app, plus the package name. If Google does not know the package yet, the very first bundle has to be uploaded by hand in Play Console; after that, uploads can be automatic.
- App Store: the iOS key from Step 4 is enough; the app is found by its bundle id.
Then upload a signed build: an AAB goes to the Google Play internal track, an IPA goes to TestFlight. Store uploads are free for Android and metered for iOS, with up to 10 a day.
To skip this step on every release, turn on "send to stores on publish": each successful publish then rebuilds the signed apps and uploads them to the Google Play internal track and TestFlight. Moving a build from testing to production stays your decision, in each store's console.
Step 6: Pass Google Play's closed test (new personal accounts)
This is the step that surprises most first-time publishers. If your personal Play developer account was created after November 13, 2023, Google requires a closed test with at least 12 testers who have been opted in continuously for 14 days before you can apply for production access.
How to get through it without stress:
- Recruit 15 to 20 testers, not 12, because some will drop out and the count must hold for the full 14 days.
- Create a closed testing track, add testers by email list or Google Group, and share the opt-in link.
- Ship at least one update during the test and note what you fixed; Google asks about your testing when you apply.
- On day 15, apply for production access from the Play Console dashboard.
Organization accounts are not subject to this rule, which is one reason companies publishing for clients use an organization account.
Step 7: Fill in the store listings
Both stores want the same core material. Prepare it once:
| Asset | Google Play | App Store |
|---|---|---|
| Name and short description | App name, short and full description | Name, subtitle, description, keywords |
| Screenshots | Phone screenshots (tablet if supported) | iPhone screenshots for the required sizes |
| Privacy | Privacy policy URL and the data safety form | Privacy policy link in App Store Connect and inside the app, plus privacy details |
| Content | Content rating questionnaire, target audience | Age rating questionnaire |
| Review access | Test account instructions if sign-in is required | An active demo account or a full demo mode |
On Totalum you can set the name under the icon (up to 30 characters) in the mobile settings; if you leave it empty, the store listing title is used.
Step 8: Submit for review, and how not to get rejected
Apple reviews every submission against its App Review Guidelines. For apps built from a web codebase, three rules matter most:
- 4.2 Minimum Functionality. Apple's own words: your app "should include features, content, and UI that elevate it beyond a repackaged website." Give users a reason to install it: accounts with their own data, bookings, notifications, uploads, offline-friendly screens, real tasks rather than a brochure.
- 5.1.1 Account deletion. If users can create an account in the app, they must be able to delete it inside the app. Ask your builder's agent to add a "Delete my account" option before you submit.
- Demo access. If the app has sign-in, give reviewers an active demo account.
Google reviews new apps and updates for policy compliance. Make sure the app targets the required Android version (Android 16, API level 36, for new apps and updates from August 31, 2026), that the data safety form matches what the app collects, and that the privacy policy is reachable.
Step 9: Ship updates
Because the store apps open the published site, most changes do not need a new store release: change the app, publish, and users see the update on the web, on Android and on iOS. You only need a new build when the app shell itself changes (icon, name, signing, store requirements such as a new target Android version). With "send to stores on publish" turned on, those builds go to the testing tracks automatically.
What people ask us about publishing AI-built apps
In our own Google Search Console data, one question keeps appearing on Totalum pages: "what AI app builders can actually publish to the app store, not just generate a prototype?" It sums up the gap in this category. Generating screens is easy; producing signed, store-ready builds, connecting the stores and shipping updates is the part most builders leave to you. Before choosing a builder for a mobile app, check four things:
- Does it produce a signed AAB and a signed IPA, or only a preview?
- Does it build iOS apps without a Mac?
- Can it upload to the Google Play testing track and TestFlight for you?
- Does a published change reach the mobile apps without a new store release?
How much does it cost to publish an app?
| Cost | Amount (November 2026) |
|---|---|
| Google Play developer account | US$25, one time |
| Apple Developer Program | $99 per year |
| Builder plan with mobile builds | Totalum Starter $29 a month (250 credits); mobile builds on every paid plan |
| Each mobile build on Totalum | 13.3 credits reserved, settled on the real build time, refunded if the build fails |
| Optional: your own Codemagic account | 0 Totalum build credits; Codemagic bills its minutes |
For more on builder costs, see our guide on how to build an app with AI.
Why publish your app with Totalum
- One project, three apps: the web app plus Android and iOS apps from the same codebase, with sign-in, its own SQL database and Stripe payments shared across all three.
- No Mac needed: signed AAB and IPA builds run on Totalum's build servers.
- Store uploads built in: Google Play internal track and TestFlight uploads, or automatic uploads on every publish.
- Fair build billing: credits by real build time, failed builds refunded, queue time never charged.
- Your code, your accounts: store accounts, signing keys and uploads stay yours; code download and GitHub on paid plans.
FAQ
How do I publish an app to the App Store?
Join the Apple Developer Program ($99 a year), create the app in App Store Connect with a bundle id, upload a signed IPA (for example to TestFlight first), add screenshots, a description, a privacy policy link and privacy details, and submit it for App Review.
How do I publish an app on Google Play?
Create a Play Console account (US$25 once), create the app and its package name, upload a signed Android App Bundle to a testing track, complete the store listing, data safety form and content rating, and, on personal accounts created after November 13, 2023, run a closed test with 12 testers for 14 days before applying for production.
How much does it cost to publish an app on the Play Store?
Google charges a US$25 one-time registration fee. Apple charges $99 per year. Your builder plan comes on top; on Totalum, mobile builds need a paid plan from $29 a month.
How do I get 12 testers for 14 days?
Ask friends, customers, colleagues and online communities for your niche; aim for 15 to 20 testers so the count stays at 12 or more for the full 14 days. Add them to a closed testing track and keep them opted in until you apply for production access.
Can I publish an app built with AI to the App Store?
Yes, as long as it meets Apple's guidelines. The most common problem for AI-built apps is guideline 4.2: the app needs features and UI that make it more than a repackaged website. Accounts, personal data, bookings and in-app tasks help.
Do I need a Mac to publish an iOS app?
Not if your builder compiles iOS apps in the cloud. Totalum builds the signed IPA on its own servers and uploads it to TestFlight with your App Store Connect API key.
How long does it take to publish an app?
The build takes minutes. On Google Play, new personal accounts need a 14-day closed test first. Apple's review usually adds a short wait on top. Plan two to three weeks for a first launch and days for later updates.
Do I need to resubmit to the stores every time I change the app?
Not with a native shell around your published app: most changes reach users when you publish. You need a new store build only when the app shell changes or a store rule requires it.
Start publishing your app
Get your app working on a phone, publish it, then build, test and submit. If you want web, Android and iOS from one AI-built project, with signed builds and store uploads handled for you, start building free on Totalum and move to a paid plan when you are ready to build for the stores. Compare options on the AI mobile app builder page.