Releasing Flutter iOS app to TestFlight using Xcode
In this tutorial, we will be releasing Flutter iOS application on TestFlight using Xcode. This is a beginner’s guide for iOS release. This tutorial is intended for first time users who want to release apps built using Flutter to App Store.
To follow along with this tutorial, you need an Apple developers account, Flutter application and a MacOS device with Xcode.
Create new App Bundle Identifier
Navigate to https://developer.apple.com/account and login to your Apple Developers account.
Go to Identifiers and create a new ID. This bundle ID is required to create app in App Store.
Select App IDs and continue
Select App to Register
Provide description, bundle ID and check capabilities you need in you app
Once done, you will have an Identifier created for the app.
Create new provisioning Profile
Go to Profiles section and create new profile for provisioning
Select Distribution > App Store
Select App ID and continue, this will create a new provisioning profile.
Now, download that profile in local machine. This will be used in publishing app to Test Flight.
Create a new application in App Store
Navigate to App Store connect https://appstoreconnect.apple.com/apps and login. Go to Apps and create a New App
Fill required details in the form and click on Create
Once done, you will have an app created. Now go to TestFlight and fill mandatory details
Submit app to TestFlight for the First time
App Center allows only updating existing apps. In order to use automated release process, you will need to upload your app to TestFlight from Xcode only once.
Build your flutter app for iOS.
Open your app in Xcode. Go to Product > Archive
Once the archive is created, you can distribute app to app store in TestFlight
Select App Store Connect as distribution method
Here, you can create a new Certificate to sign your app.
If you do that, please export that certificate with private key to a .p12 file. This is needed in App Center to sign your apps.
Wrap up
This is how simple it is to build and release iOS apps created using Flutter. In iOS application you will need to be very careful with signing Certificate and provisioning profile. If you loose it, there is no way to build and release new version of application. This is a manual process, every time you make changes in app, you need to follow same process to upload new version in App Store. I have written a tutorial on how you can setup an automated release process in Microsoft App Center. https://medium.com/@iqan/continuously-releasing-flutter-ios-app-to-testflight-using-appcenter-38dfc731d93
Thanks for reading. Hope you enjoy it.
Have a lovely day. :)