Introduction to Firebase App Distribution in iOS

Emrah
inventiv
Published in
5 min readJan 2, 2020
Firebase App Distribution

Firebase has a new feature called Firebase App Distribution which provides test the build Beta Tests with Adhoc, analyzes the app with Crashlytics.

In this post, we will cover the App Distribution without analytic in iOS so let’s start with a basic app. So in Inventiv, we are currently using Firebase App Distribution for Beta testing.

I started with a basic app called TutorialApp like below.

As a result of the app, my bundle identifier is com.multinetinventiv.TutorialApp . We’ll use it further.

Then add Firebase to the app with going Firebase Console. You’ve to sign your app with the correct bundle identifier and then download GoogleService-Info.plist file onto your Xcode project. After the successful integration of the file, it must be shown below

Screenshot of the editor.

After registering the app, we’ve to add Firebase to our codebase with CocoaPods, if you are not comfortable with CocoaPods you can look at many articles in Medium & several blogs.

Open the terminal to install Firebase.

  • Go to your project directory. For my environment, I create my application into my Desktop.

in Terminal, you can use these steps

After the create Podfile, open to edit in your text-editor or vim.

After adding Firebase pod, the Podfile should like:

Save the Podfile then install the pod.

After installing, open the .xcworkspace for the configure the Firebase.

Then configure Firebase as documentation guided.

App Delegate

Then look at Firebase App Distribution page at Firebase Console.

Firebase App Distribution page in Firebase Console.

The browser languges is currently Turkish but I’ll describe what’s the necessary tabs & how we’ll use it.

There are currently 3 tabs on the page of App Distribution.

  • Distribution
  • Invitation Links
  • Test Users & Groups

Distribution is currently a place of own app builds for example 1.0.1, 1.0.2, etc. In the distribution place, we’ve to provide the application’s file (iOS App Store Package) as .ipa file, because this app package is sent to special beta test users' phones by Firebase.

Invitation Links and Test User's place will work when we add a user as a tester and send an invitation to test the application.

Generating ipa file from the app has require several steps.

  • Step 1: Select the testing device of the app target as Generic iOS Device.
  • Step 2: Click the Product -> Archive on MenuBar
Steps

After this walkthrough, the Organizer window will be opened.

Organizer Page

We’ve to generate an .ipa file for Firebase App Distribution.

Click the Distribute App after choose the Ad Hoc option.

Method of Distribution Window

After the preparing archive chooses App Thinning to None and then select Automatically manage signing.

Ad Hoc Distribution Options
Signing Options

Select the export for exporting .ipa file.

Review Window

Go to the export directory and select the .ipa file and drag & drop onto Firebase App Distribution new .ipa section.

Well done. You’ve uploaded your first build of the app for the Beta Testing. For now, the testers are waiting for the test, let's add them.

Add test users with their e-mails. After you add test users you must add release notes. You can add what you wish to add for this release.

Before the Test Release

Then release it to the testers. Firebase has sent e-mails to testers to test the application. There’s some instruction for installing the application. This is showing how Firebase made easy the Beta Testing even we are not using better approaches like Fastlane etc.

Well Done

HOUSTON. We’ve had a Problem

We’ve had successfully release the app to the testers but did you remember you’ve to register your device for Ad Hoc testing (Unique Test Devices) in App Store Connect & TestFlight. I’ve used my mail address for testers and in my iOS App Developer Account. I have already registered my iPhone device with its unique UUID.

So what will happen if I use a tester with Firebase App Distribution without registered it into App Developer Account as an Ad Hoc tester?

Firebase will send invitation mail to tester but the application won’t work because of not registered with a.

So, add a new unique device to the App Developer Account.

I assume we are an app developer teams, there are new people in Tester groups. We have to register them into the system. Let’s begin.

Login in to your Apple Developer Account and select Certificates, Identifiers & Profiles. Then select the Devices section on the left.

The list for the registered list.

Add the Add button.

Register a New Device Window

After enter successfully UUID and name continue the process. Then Accept & Register the device.

Well Done

We’ve just registered the new tester device (iOS, tvOS, watchOS) successfully.

So the new testers are able to install and test the application via App Distribution. 🙌 🥳

This is just the beginning with Firebase App Distribution. We’ll discover more efficient use of this distribution system in the next articles.

--

--