firebase-ios-sdk: Carthage doesn't download Firebase binaries on Apple M1

[REQUIRED] Step 1: Describe your environment

  • Xcode version: 12.2
  • Firebase SDK version: 7.1.0
  • Installation method: Carthage
  • Firebase Component: All
  • macOS version: 11.0
  • Chip: Apple M1

[REQUIRED] Step 2: Describe the problem

Carthage doesn’t download any firebase binaries on Apple M1 with Big Sur. When running carthage update --no-use-binaries --cache-builds --platform iOS, the empty json has downloaded.

*** Downloading binary-only framework FirebaseDynamicLinksBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseDynamicLinksBinary.json"
*** Downloading binary-only framework FirebaseRemoteConfigBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseRemoteConfigBinary.json"
*** Downloading binary-only framework FirebaseAuthBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAuthBinary.json"
*** Downloading binary-only framework FirebaseCrashlyticsBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseCrashlyticsBinary.json"
*** Downloading binary-only framework FirebasePerformanceBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebasePerformanceBinary.json"
*** Downloading binary-only framework FirebaseProtobufBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseProtobufBinary.json"
*** Downloading binary-only framework FirebaseInAppMessagingBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseInAppMessagingBinary.json"
*** Downloading binary-only framework FirebaseMessagingBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMessagingBinary.json"
*** Downloading binary-only framework FirebaseAnalyticsBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAnalyticsBinary.json"
*** xcodebuild output can be found in /var/folders/74/lws4xlls7fg_m4pkl499hp6h0000gn/T/carthage-xcodebuild.SOqsl2.log
*** Downloading binary-only framework FirebaseAnalyticsBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAnalyticsBinary.json"
*** Downloading binary-only framework FirebaseAuthBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAuthBinary.json"
*** Downloading binary-only framework FirebaseCrashlyticsBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseCrashlyticsBinary.json"
*** Downloading binary-only framework FirebaseDynamicLinksBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseDynamicLinksBinary.json"
*** Downloading binary-only framework FirebaseInAppMessagingBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseInAppMessagingBinary.json"
*** Downloading binary-only framework FirebaseMessagingBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMessagingBinary.json"
*** Downloading binary-only framework FirebasePerformanceBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebasePerformanceBinary.json"
*** Downloading binary-only framework FirebaseProtobufBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseProtobufBinary.json"
*** Downloading binary-only framework FirebaseRemoteConfigBinary at "https://dl.google.com/dl/firebase/ios/carthage/FirebaseRemoteConfigBinary.json"
{
  "Mac" : [

  ],
  "watchOS" : [

  ],
  "tvOS" : [

  ],
  "commitish" : "7.1.0",
  "iOS" : [

  ]
}

Steps to reproduce:

Relevant Code:

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 2
  • Comments: 19 (11 by maintainers)

Most upvoted comments

Carthage 0.38.0 is now released.

We’ll work on restoring Carthage publishing sometime after the Firebase 8.0.0 release.

Thanks @dmhts! In that case we should be able to publish a Carthage xcframeworks update soon after 0.38.0 is available.

@d-date FYI, the Firebase does also support a binary zip packaging that as of 7.2.0 is comprised of xcframeworks for everything except FirebaseML. See the download at https://github.com/firebase/firebase-ios-sdk/releases/tag/CocoaPods-7.2.0

if anyone wants to validate that the Firebase xcframeworks work with the pre-release, it would be appreciated.

@paulb777 Just validated, works for me 👍

Correct the Swift packages are so far only available via CocoaPods and SPM.

I’m planning to investigate this week.

Hi @d-date - hope you’re doing well.

I’m not sure about the --no-use-binaries bit since Firebase only offers a binary distribution of Carthage, but right now Carthage won’t work well with Apple silicon Macs using the M1 chip due to Carthage’s lack of support for XCFrameworks: https://github.com/Carthage/Carthage/issues/2799

We can’t include the simulator slice for arm64 as well as the arm64 device slice, they simply can’t be put into a .framework together. It’s unfortunate, but until Carthage can support XCFrameworks it’s going to be a poor experience for Carthage since you can’t work on the simulator. You may be able to still pull the frameworks down if you run on device only, and potentially get rid of the --no-use-binaries flag, I’ll try it out on my Mac mini later today.

Sorry about that!