React Native Upload To TestFlight with Fastlane

Zalmy Muskal
2 min readSep 4, 2020

--

Fastlane is a tool that automates the process to build and release your Mobile app. As they write on their website: “fastlane is an open source platform aimed at simplifying Android and iOS deployment. fastlane lets you automate every aspect of your development and release workflow.”
In this blog I go through how to add beta deployment to TestFlight. It took me a while to get it up and running for myself so i tried to simplify it as much as possible.

Setup Xcode for fastlane
xcode-select — install
Open your project in Xcode and Sign in if you aren’t. Correct the bundle ID (if you would like to). Select a development team.
Install Fastlane
# Using RubyGems (Preferred method)
sudo gem install fastlane -NV

# Alternatively using Homebrew
brew install fastlane

In your project directory
cd ios
fastlane init
Fastlane will then ask ‘Fastlane can help you with all kinds of automation for your mobile app. We recommend automating one task first, and then gradually automating more over time’ and give you four options to choose from:
1. 📸 Automate screenshots
2. 👩‍✈️ Automate beta distribution to TestFlight
3. 🚀 Automate App Store distribution
4. 🛠 Manual setup — manually setup your project to automate your tasks
Choose the second option (though we will be altering the method a little).
Then choose your schema.
Next it will ask you for your Apple ID username and password.

When you look at your fastfile you will see that your beta file is pretty empty.
Something along the lines of lane :beta do build_app(scheme: “MyApp”) end
Let us change that to the following:

Change ‘nameOfYourProject’ to The name of your project. There are different ways to sign your app and for this blog I am using Cert and Sigh (in Xcode make sure your automatic signing is unchecked).
Next add app icons to your project by following this blog.

That should be it. Now all you need to do is run fastlane beta in the /ios folder for it to deploy.

Hope this helps you get started. If I missed anything please leave a comment. Happy coding!

--

--