Independent developer help center

Publish your app with fewer surprises.

Follow the Apple App Store, Google Play, and Expo EAS steps below. Use the screenshot checklist before uploading your store graphics so platform-specific controls, personal information, and misleading images do not cause avoidable delays.

Guidance reviewed August 5, 2026 · Store screens and rules can change
A
iPhone and iPad

Apple App Store

  1. Confirm the Apple account and agreements.

    Use an active Apple Developer Program membership. The Account Holder must accept current agreements before a new app record can be created.

  2. Create the app record first.

    In App Store Connect, open Apps, choose the plus button, select New App, then enter the platform, app name, primary language, bundle ID, and SKU.

  3. Match the bundle identifier exactly.

    The bundle ID in the uploaded build must match the App Store Connect record. Treat it as a permanent app identity.

  4. Complete the store information.

    Add the description, keywords, category, support URL, privacy URL, age rating, app privacy answers, pricing, availability, screenshots, and review contact information.

  5. Build and upload the iOS binary.

    Upload with Xcode, Transporter, or Expo EAS Submit. Apple processes the build before it appears in App Store Connect.

  6. Test with TestFlight.

    Install the processed build, test sign-in and purchases, and give external testers clear instructions when needed.

  7. Select the build and provide review access.

    Attach the build to the app version. Provide a working demo account and notes for features that are not obvious to the reviewer.

  8. Submit for review and choose release timing.

    Resolve every required field and warning, then submit. Choose manual, automatic, or scheduled release based on your launch plan.

Important Apple screenshot warningDo not upload Android screenshots that visibly show Android navigation buttons, Android status-bar styling, Google Play branding, or other-platform imagery. Apple requires metadata to focus on the supported Apple-platform experience.
G
Android devices

Google Play

  1. Create the app in Play Console.

    Select Create app, choose the default language, name, app or game, free or paid status, support email, and required declarations.

  2. Choose the package name carefully.

    The package name becomes fixed after an artifact is uploaded and cannot later be reused for a different app.

  3. Complete App content.

    Finish privacy policy, ads declaration, app access, target audience, content rating, data safety, and any category-specific declarations shown on the dashboard.

  4. Build the store listing.

    Add the title, short and full descriptions, app icon, feature graphic, screenshots, contact details, and localized assets where appropriate.

  5. Upload a signed Android App Bundle.

    New Google Play apps publish with an AAB. Use Play App Signing and confirm that the version code is higher than the previous release.

  6. Run an internal or closed test.

    Check installation, login, permissions, billing, links, and common device sizes. Some newer personal developer accounts must satisfy specific testing requirements before production access.

  7. Create and review the release.

    Add release notes, resolve errors, review the countries and rollout settings, then send the release for review.

  8. Monitor after launch.

    Watch crashes, Android vitals, reviews, policy messages, and staged-rollout performance before expanding to everyone.

Google screenshot cleanupUse actual in-app images, remove notification details and service-provider names, keep battery/Wi-Fi/cellular indicators complete, and never stretch or compress the screenshot.
E
Expo and React Native

Expo EAS command guide

EAS Build creates the signed store binary. EAS Submit uploads the binary into Apple or Google’s distribution pipeline. It does not complete your descriptions, screenshots, privacy answers, reviewer notes, or final store release for you.

First-time setup

npm install --global eas-cli eas login eas whoami eas build:configure

Apple production build and upload

eas build --platform ios --profile production eas submit --platform ios --profile production

Google Play production build and upload

eas build --platform android --profile production eas submit --platform android --profile production
One-step option after credentials are configuredeas build --platform ios --profile production --auto-submit or eas build --platform android --profile production --auto-submit.

Before every new build: confirm the bundle/package identifier, marketing version, iOS build number, Android version code, production environment variables, API URLs, icons, splash screen, privacy descriptions, and signing credentials.

Asset quality control

Screenshot pass-or-fix guide

CheckLikely passFix before upload
Correct platformiOS screens show the real iPhone/iPad build; Android screens show the real Android build.Android navigation controls or Google Play imagery shown in an Apple listing, or an iPhone-only interface presented as Android.
Accurate experienceThe pictured feature exists and works in the submitted build.Mocked features, outdated screens, unavailable buttons, or claims that the app cannot perform.
DimensionsExact accepted dimensions or ratios with no distortion.Stretched UI, blurry enlargement, sideways image, or unreadable text.
Status barClean, consistent indicators with no personal notifications.Carrier names, message previews, low-battery warnings, private email, GPS alerts, or inconsistent times.
PrivacyFictional names, locations, messages, accounts, and photos.Real customer information, personal addresses, private conversations, API keys, or test credentials.
BrandingYour own branding and properly licensed material.Unlicensed logos, trademarked characters, other app-store badges, rankings, prices, or misleading awards.
Device supportPhone screenshots show a phone layout; required tablet screenshots show the actual tablet layout.A phone screenshot merely enlarged inside a tablet canvas when the app’s tablet interface is materially different.
A resizer cannot convert one operating system into another.AppScreenSizer can change dimensions, crop, add padding, and check visible warning signs. It cannot turn an Android capture into a truthful iOS screenshot. Capture the correct app build on the correct platform.
Before pressing submit

Final publishing checklist

Production build opens without crashing
Bundle ID or package name matches
Version and build numbers increased
Support and privacy URLs load publicly
All permissions are explained and necessary
Reviewer login works and is documented
Screenshots match the submitted platform
No real personal information is visible
Descriptions match current features
Subscriptions and purchases were tested
Account deletion is available when required
Release countries and timing are correct

Official references