A Complete Guide to Publishing a Flutter App on the Apple App Store (2026)
Publishing a Flutter application to the Apple App Store can seem overwhelming if you're doing it for the first time. Unlike Android, iOS has additional requirements such as Apple Developer membership, certificates, provisioning profiles, and App Store Connect.
In this guide, we'll walk through the complete process from preparing your Flutter project to successfully submitting your app for review.
Prerequisites
Before you begin, make sure you have:
A Mac computer
Flutter SDK installed
Xcode (latest stable version)
CocoaPods installed
An Apple Developer Account ($99/year)
A physical iPhone (recommended for testing)
You can verify Flutter installation by running:
flutter doctor
Ensure there are no issues related to iOS development.
Step 1: Build Your Flutter App
First, make sure your Flutter project runs correctly.
flutter clean
flutter pub get
flutter run
Fix any warnings or errors before proceeding.
Step 2: Configure the iOS Project
Open the iOS project in Xcode:
open ios/Runner.xcworkspace
Never open Runner.xcodeproj. Always use Runner.xcworkspace.
Step 3: Update Bundle Identifier
In Xcode:
Select Runner
Open Signing & Capabilities
Change the Bundle Identifier
Example:
com.company.myflutterapp
This identifier must be unique.
Step 4: Configure Signing
Under Signing & Capabilities:
Select your Apple Developer Team
Enable Automatically manage signing
Xcode will automatically create:
Development Certificate
Provisioning Profile
Signing Certificate
Step 5: Update App Information
Edit the following in Xcode:
Display Name
My Flutter App
Version
1.0.0
Build Number
1
These correspond to Flutter's pubspec.yaml:
version: 1.0.0+1
Step 6: Configure App Icons
Flutter uses the iOS asset catalog.
Open:
ios/Runner/Assets.xcassets/AppIcon.appiconset
Replace the icons with your own.
Many developers use the package:
flutter_launcher_icons:
Generate icons using:
dart run flutter_launcher_icons
Step 7: Configure Launch Screen
The launch screen can be customized in:
LaunchScreen.storyboard
or by using a native splash package:
flutter_native_splash
Generate the splash screen:
dart run flutter_native_splash:create
Step 8: Add Required Permissions
If your app accesses:
Camera
Photos
Location
Bluetooth
Contacts
Microphone
Add the corresponding permission descriptions to:
ios/Runner/Info.plist
Example:
<key>NSCameraUsageDescription</key>
<string>This app needs camera access to scan QR codes.</string>
Without these descriptions, Apple will reject your app.
Step 9: Test in Release Mode
Run:
flutter run --release
Test all major features thoroughly.
Step 10: Archive the App
Build the iOS archive:
flutter build ipa
Alternatively, archive from Xcode:
Product
Archive
Wait until the archive is created.
Step 11: Upload to App Store Connect
Once the archive is complete:
Open Organizer
Select your archive
Click Distribute App
Choose App Store Connect
Upload
Xcode validates the archive before uploading.
Step 12: Create an App in App Store Connect
Log in to App Store Connect.
Create a new app by providing:
App Name
Primary Language
Bundle ID
SKU
Platform (iOS)
Step 13: Fill App Information
Provide the following:
App description
Keywords
Support URL
Marketing URL (optional)
Privacy Policy URL
Copyright
Step 14: Upload Screenshots
Apple requires screenshots for supported devices.
Common sizes include:
iPhone 6.9"
iPhone 6.5"
iPad (if supported)
You can take screenshots using:
iOS Simulator
Physical iPhone
Step 15: Complete App Privacy
Apple requires you to disclose:
Data collected
Tracking
Analytics
Third-party SDK usage
Answer these questions accurately.
Step 16: Add App Review Information
Provide:
Demo account (if login required)
Password
Contact information
Notes for the reviewer
This helps speed up the review process.
Step 17: Submit for Review
Select:
Build
Version
Release option
Click:
Submit for Review
Apple usually reviews apps within 24 hours to a few days, though times can vary.
Common Reasons for Rejection
Some frequent reasons apps are rejected include:
Missing privacy permission descriptions
Crashes on launch
Placeholder content
Broken login
Misleading screenshots
Incomplete metadata
Missing Privacy Policy URL
Non-functional features
Violating Apple's Human Interface Guidelines
Always test thoroughly before submitting.
Useful Flutter Commands
flutter doctor
flutter clean
flutter pub get
flutter run
flutter run --release
flutter build ios
flutter build ipa
Tips for a Smooth Submission
Test on multiple devices.
Keep dependencies up to date.
Increment the build number for every new upload.
Verify app icons and splash screen.
Ensure release mode works correctly.
Check App Store metadata carefully before submission.
Final Thoughts
Publishing a Flutter app to the Apple App Store involves several steps, but once you understand the process, it becomes much easier. By preparing your app, configuring signing correctly, testing thoroughly, and providing complete App Store information, you can significantly improve your chances of a successful first submission.
Happy coding, and good luck with your App Store release!
Comments
Post a Comment