Flutter App Release
Release Flutter apps to iOS App Store, Android Play Store, and web hosting platforms.
When to Use
- •Building Flutter releases for iOS, Android, or web
- •Publishing to TestFlight, App Store, or Play Store
- •Deploying Flutter web apps
- •Managing versions and build numbers
- •Setting up automated releases
Versioning
pubspec.yaml: version: 1.2.3+45 (semantic version + build number)
bash
flutter pub version patch # 1.2.3 → 1.2.4 flutter pub version minor # 1.2.x → 1.3.0 flutter pub version major # 1.x.x → 2.0.0
Rule: Increment build number (+45 → +46) for every release
Quick Release
iOS
bash
flutter build ipa --release cd ios && fastlane beta # TestFlight
Android
bash
flutter build appbundle --release cd android && fastlane internal # Internal testing
Web
bash
flutter build web --release firebase deploy --only hosting # Firebase # or: netlify deploy --prod
Platform Setup
iOS
bash
brew install fastlane cd ios && fastlane init # Requires: Xcode, Apple Developer account
Android
bash
cd android && fastlane init # Requires: Keystore, Play Console service account
Web
bash
firebase init hosting # or setup: Netlify, Vercel, GitHub Pages
References
- •iOS Release - TestFlight and App Store workflow
- •Android Release - Play Store deployment
- •Web Deployment - Firebase, Netlify, Vercel
- •Fastlane Setup - iOS/Android automation
- •CI/CD - GitHub Actions workflows
Templates
Best Practices
✅ Test on TestFlight/internal before production, use staged rollouts, increment versions ❌ Don't commit signing keys, skip testing, or release to 100% immediately
Quick Commands
bash
# Clean build flutter clean && flutter pub get # Build flutter build ipa --release # iOS flutter build appbundle --release # Android flutter build web --release # Web # Release cd ios && fastlane beta # TestFlight cd android && fastlane production # Play Store firebase deploy --only hosting # Web