Building a Flutter app is one thing. Getting it approved and published on the Apple App Store and Google Play Store is another. Here’s the complete process from release build to live listing.
Preparing for Release
Before submitting, ensure your app is production-ready. Remove all debug flags, test API keys, and logging statements. Verify that the app connects to production backend services, not staging. Test the release build on physical devices — release builds behave differently from debug builds.
Android Deployment
Signing Your App
Android requires a signed APK or App Bundle. Generate a keystore file and configure signing in your build.gradle. Keep your keystore file and passwords secure — losing them means you can’t update your app.
Building the App Bundle
Google prefers Android App Bundles (.aab) over APKs. App Bundles let Google Play optimise the download for each device, reducing install sizes. Build with flutter build appbundle.
Google Play Console
Create a developer account (one-time R400 fee). Set up your app listing: title, description, screenshots, feature graphic, and categorisation. Upload your App Bundle to the internal testing track first, then promote to production after verification.
Google Play review typically takes a few hours to a few days. Common rejection reasons: misleading descriptions, missing privacy policy, or functionality that doesn’t match the listing.
iOS Deployment
Apple Developer Account
You need an Apple Developer Program membership (R1,700/year). This provides access to App Store Connect, provisioning profiles, and distribution certificates.
Certificates and Provisioning
iOS deployment requires distribution certificates and provisioning profiles. Xcode handles most of this through automatic signing, but understanding the relationship between certificates, profiles, and bundle identifiers helps when things go wrong.
Building for iOS
Run flutter build ios to create the release build. Open the Runner workspace in Xcode, archive the build, and upload to App Store Connect. Xcode’s Organizer handles the upload process.
App Store Review
Apple’s review is more stringent than Google’s. Reviews typically take 24–48 hours but can take longer. Common rejection reasons: bugs or crashes during review, incomplete features, non-standard UI patterns that violate Human Interface Guidelines, or privacy issues.
App Store Optimisation
Your store listing is a marketing asset. Write descriptions that include relevant keywords naturally. Screenshots should show your app’s best features with clear captions. The first two screenshots and the first line of your description are most important — they’re what users see before tapping “more.”
Post-Launch
Monitor crash reports through Firebase Crashlytics or Sentry. Respond to app store reviews promptly and professionally. Plan regular updates — stores favour actively maintained apps in search rankings.
Automating Deployment
For ongoing releases, set up CI/CD with tools like Codemagic, Bitrise, or GitHub Actions. Automated pipelines build, test, sign, and upload your app with a single trigger, reducing human error and deployment time.