Releasing Flutter iOS app to TestFlight using Xcode

Iqan Shaikh
4 min readAug 31, 2020

--

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. :)

--

--

Iqan Shaikh

Sr. Full Stack Engineer | C# .NET | Azure | AWS | DevOps | React | Node | Docker | Flutter | ReactNative