Once you have finished building your Flutter app, it is time to publish it! Below are guides for publishing to both the App Store and the Google Play Store.
Publish to App Store
Prerequisites: review App Review Guidelines and enroll in Apple Developer Program
1. Register Bundle ID
The Bundle ID is a unique identifier for the iOS app. Bundle IDs generally follow reverse domain name notation.
Steps:
- Go to Apple Developer page.
- Navigate to Certificate, IDs, and Profiles → Identifiers.
- Complete the form for the app information.
2. Create a Record in App Store Connect
Create a record in App Store Connect for the app.
Steps:
- Go to Apple Developer page.
- Navigate to App Store Connect → Apps.
- Create a New App and fill in the details for the app.
- Select the Bundle ID registered in Step 1.
3. Modify Xcode Settings
General Settings
- In Xcode, navigate to the Runner.
- Update the following settings under General:
- Choose a minimum iOS version.
- Choose a display name and set the Bundle ID to the ID registered in Step 1.
App Icon Location
- In Xcode, navigate to Assets under the Runner project.
- Upload a 1024x1024 image as “AppIcon” or the name given in Step 2.
Signing & Capabilities
- Signing ensures to the user that the app is not tampered with.
- Ensure automatically managed signing is enabled.
- Specify the team that is publishing the app.
4. Update Build Version
Apple uses a CFBundleVersion to version the number.
Steps:
- Set
pubspe3.yamlversionfield to1.0.0for the initial release.
5. Create a Build Archive
Steps:
- Run
flutter build ios --release- builds.app. - Run
flutter build ipa- builds.ipa, required to distribute on the App Store. - Find the
.ipafile under thebuild/ios/ipadirectory.
6. Upload App
Steps:
- Download the Apple Transporter App for Mac.
- Upload & deliver the
.ipafile from Step 5 to App Store Connect. - In App Store Connect, add for review on the App Store.
- Additionally, can add for beta review in TestFlight.
Publish to Google Play Store
Prerequisites: register as a Google Developer, review Flutter Android Deployment, and create a Terms of Service (TOS) document.
1. Set an App Icon
App icons are essential for brand identity and should follow Google’s guidelines.
Steps:
- Use an icon generator like IconKitchen to create the app icon.
- Add a 256x256 PNG image under the
/assetsdirectory. - Add the latest version of Launch Icons to
dev_dependenciesinpubspec.yaml. - Add a
flutter_iconskey inpubspec.yamlwith the following configuration:- Set
image_pathto the path of the icon created in Step 1. - Set
androidtotrue. - Set
iostofalse.
- Set
- Run
flutter pub getto download the Launch Icons package. - Run
flutter pub run flutter_launcher_iconsto generate Android app icons.
2. Set an App Name
The app name is defined in the manifest file, which contains metadata for the application.
Steps:
- Navigate to
android/app/src/main/AndroidManifest.xml. - Set the value of
android:labelto the desired application name. - Navigate to
android/app/build.gradle. - Set the
applicationIdin thedefaultConfigmap to the Bundle ID used for the iOS version.
3. Sign the App
Signing your app ensures that it is secure and can be trusted by users.
Steps:
Copy and paste the following code into
android/key.properties:storePassword=<your_store_password> keyPassword=<your_key_password> keyAlias=<your_key_alias> storeFile=<path_to_your_keystore_file>Create and upload a keystore using the following commands:
keytool -genkey -v -keystore upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias <your_key_alias>Locate the created
upload-keystore.jksfile and move it to theandroid/appdirectory.Specify the path to the keystore in
key.properties, e.g.,storeFile=../app/upload-keystore.jks.Copy the signing configuration code into
build.gradleunder theandroidblock. Ensure you do not overwrite any existing configurations.Run the following command to generate a release build:
flutter build appbundle --release
4. Create an App in Google Play Console
Create an entry for your app in the Google Play Console.
Steps:
- Navigate to the Google Play Console.
- Create a new app from the Home page.
- Provide the necessary app information under Grow → Store Presence → Main Store Listing.
- Fill in the developer information under Grow → Store Presence → Store Settings.
5. Create a Release
Publishing a release makes your app available to users on Google Play.
Steps:
- Navigate to Release → Production in the Google Play Console.
- Create a new release and follow the on-screen instructions.
- Upload the
.aabfile generated in Step 3g. - Navigate to Policy → App Content and complete all required declarations.
6. Send for Review
Submit your app for review to be listed on the Google Play Store.
Steps:
- Navigate to Release → Releases Overview in the Google Play Console.
- Confirm all declarations are filled out.
- Save the changes and submit the app for review.