Build the iOS release on a Mac after configuring your bundle identifier, Firebase registration, signing team, and push capabilities.
Open ios/Runner.xcworkspace in Xcode. Verify the Runner target’s signing, display name, version, supported devices, and deployment target. Ensure the chosen target meets the requirements of the actual resolved plugins; the repository’s recorded 13.0 target is not a guarantee of compatibility with every installed Firebase version.
From the Flutter project root:
Flutter produces an Xcode archive and, when export succeeds, an IPA under the build output. Use the generated archive and Xcode’s distribution workflow as appropriate for your team’s signing setup. Follow the Flutter iOS release guide.
Test on a physical iPhone and through TestFlight before public release. Verify customer login, contact permissions, document display, push delivery, and any signature interactions offered by your CRM.
Keep the bundle identifier stable for updates. Use the next build number rather than uploading the same build repeatedly. Archive the source revision, dependency versions, and release notes used to create the submission.
If export fails, resolve the signing or provisioning error shown by Xcode. A simulator build does not validate distribution signing.