Launching a Flutter app? Here is the dual-platform checklist.
One codebase, two review processes with different rules. Both need a separate pass.
Flutter's promise is one codebase for iOS and Android, but the launch checklist is not one checklist, it is two, because Apple and Google review apps against different guidelines and reject for different reasons. A Flutter app that sails through Play Store review can still get bounced by Apple for a platform-specific requirement Android does not have (and vice versa).
The items below cover both the cross-platform gaps (crash reporting, secrets) and the platform-specific ones that trip up Flutter apps most often.
What gets missed on Flutter apps.
Same requirement as native iOS apps, and just as easy to miss in a Flutter project since it is not part of the default Flutter project template.
Google Play requires 64-bit support. Verify your build configuration produces both arm64-v8a and armeabi-v7a, or arm64-only, correctly.
Native platform channel calls that throw on one OS but not the other are a common source of platform-specific crashes that do not show up in cross-platform testing.
Common questions.
Does Flutter need separate review prep for iOS and Android?
Yes. Despite the shared codebase, Apple and Google review against different guidelines, privacy manifest for iOS, 64-bit and target API level requirements for Android, so plan for two separate submission checklists, not one.
What crash reporting works with Flutter?
Sentry, Firebase Crashlytics, and Bugsnag all have first-class Flutter SDKs that capture both Dart-level and native platform crashes, which matters since platform channel failures do not always surface as normal Dart exceptions.
Building on something else?
Find the gaps first.
Open the tool.
Filtered to your stack, with why, what, and how for every item.
Get my Flutter checklist