How to upload your beta app to TestFlight

ยท

6 min read

This is a step by step visual summary of the process of uploading your app to TestFlight. I hope it will make it easier for you to upload your betas. TestFlight is quite straightforward, only sometimes can be confusing, this is why I made this guide for beginners.

As an indie developer TestFlight should be part of your appโ€™s release process and a way to get feedback before the release. When you send your beta version to TestFlight you can let it test by up to 10,000 testers by either sharing a link or sending an email to their Apple IDs.

Of course, you will need an Apple paid developer account to use TestFlight and publish apps to the Apple Store!

Uploading your app from Xcode

There are two main steps to get started:

  • Archive your app.
  • Upload the archive to the App Store.

What you will need

  • in Xcode, in the target editor, under Signing & Capabilities, make sure you have a Bundle Identifier and that your Team and Signing Certificate is set.

testflight1.png

I like to update my build version here before to upload it to TestFlight. And also push the branch to GitHub for later reference!
See semantic versioning.

Screenshot 2021-01-23 at 11.18.02.png

Build and archive the app. Choose Generic iOS Device in the scheme:

Screenshot 2021-01-23 at 11.13.42.png

Then, create an archive using the Product โ–ธ Archive menu:

Xcode will open the Organizer with your app in the Archives tab.

Screenshot 2021-01-23 at 11.15.20.png

Click Distribute App. Screenshot 2021-01-23 at 11.22.21.png

Select App Store Connect. Click Next. Leave Upload selected and click Next. Xcode will select all the checkboxes by default. Leave them like this and click Next. Automatic signing is good for most cases. Click next and you get to the final screen:

Screenshot 2021-01-23 at 12.45.03.png

Tip: I would deactivate the VPN if you are using any. I have the feeling, that the Apple servers do not like them. Often the upload process is improved when I deactivate my VPN. Strangely, this is true for Twitter as well!

Now it is done! Click on the arrow to continue on the App Store Connect:

Screenshot 2021-01-23 at 12.47.19.png

App Store Connect

Log in with your credentials and go to "My Apps".
There is an approval process the first time you upload an app and it can take a day or two. It can be frustrating to wait if it is the first time for you to upload an app, but successive uploads are much easier.

When uploading a version update

Screenshot 2021-01-23 at 12.49.27.png

Now you get to see your apps... select the one you just uploaded for testing or click on the plus button if you are adding a new one. Here I am just adding a new version, so I can click on my app and continue.
On the next screen I need to select TestFlight:

Screenshot 2021-01-23 at 12.54.01.png

Here I see my builds and I can see that the last one is missing compliance! Click on manage:

Screenshot 2021-01-23 at 12.56.39.png

Screenshot 2021-01-23 at 12.57.37.png

I do not use encryption and can start internal testing:

Screenshot 2021-01-23 at 12.57.44.png

Now it says ready to submit. How to start testing? Click on the version number and enter the test information:

Screenshot 2021-01-23 at 13.00.53.png

Users that had your app already installed can upgrade through TestFlight to the new version and they will see your comments you wrote in "What to test".

Screenshot 2021-01-23 at 13.06.51.png

Going back to the previous page I can see that version 4 is still the only one being tested though, how to change that?

Screenshot 2021-01-23 at 13.06.51.png

Click on the + sign next to "build" and add your just uploaded version.

Screenshot 2021-01-23 at 13.07.02.png

Screenshot 2021-01-23 at 13.07.09.png

accept:

Screenshot 2021-01-23 at 13.07.18.png

and the users who already subscribed to the version will be notified if they subscribed to updated in TestFlight!

Screenshot 2021-01-23 at 13.07.29.png

As you can see, I have 52 testers and a limit of 1000. (I did choose the limit)

Sources.

This article on Ray Wenderlich has helped write this blog post: TestFlight Tutorial: iOS Beta Testing