5

We are develop an iOS app using react-native. And every time there is an update from developer, developer need to build and install on QA phone for testing.

Now, I am trying to use fastlane and firebase app distribution, to distribute new app for QA.

When I create new release, QA got an email notification about that, and they can check it on firebase app distribution. But there is no button for download and install, only message like this.

Device registered!
The developer now needs to update their app to run on your device. You'll get an email when the app is ready to test.

Firebase app distribution

How to make it available to download?

Ganda Rain Panjaitan
  • 833
  • 1
  • 12
  • 28

3 Answers3

3

Finally, For release iOS app to firebase app distribution, you need to generate ad-hoc.

First, u need to create a profiles ad hoc key, u can create it on apple developer or use fastlane to generate it. Then save it inside your project. Second, set export method inside build app to be ad-hoc. Third, use get_provisioning_profile to get your profile ad hoc key.

Ganda Rain Panjaitan
  • 833
  • 1
  • 12
  • 28
0

I believe this is very likely because your version is already the same (I think it happened to me recently). Try updating your minor version of the app. (If you are not able to do this for some reason, you can just delete existing build and upload a new one).

shokee
  • 11
  • 2
0

The problem here is that even though you uploaded your app, you need to register the device on the apple side (profile provisioning). Here are the docs on how to do it.

Extra:

I did it using Fastlane, so it's all automated, here is my code in case you want to follow along:

lane :match_dev do
  match(
    # The default type, can be: appstore, adhoc, enterprise or development
    type: "development",
    app_identifier: "com.your-app",
    force_for_new_devices: true
  )
  end

  desc "Download UDIDs and register Firebase Distribution devices"
  lane :register_new_devices do
    firebase_app_distribution_get_udids(
      # This below is an environment variable in a .env so you don't expose it
      app: ENV["FIREBASE_APP_ID"],
      output_file: "udids.csv"
    )

    register_devices(
      devices_file: "udids.csv"
    )
  end

  desc "Distribute app to Firebase"
  lane :distribute do |options|
    begin
      register_new_devices
      # I added this extra here because I'm also uploading a new test build on every release, but feel free to remove after the `build_dev`
      build_dev if options[:shouldBuildApp]
    rescue => e
      UI.error(" Failed to register devices or build the app: #{e}")
      next
    end
    firebase_app_distribution(
      app: ENV["FIREBASE_APP_ID"],
      groups: "developers",
      release_notes: "Lots of amazing new features to test out!",
      debug: true
    )
  end
Arturo
  • 3,254
  • 2
  • 22
  • 61