Closed d-date closed 3 years ago
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!
Hi @ryanwilson I'm doing well, thank you🙂
You can ignore no-use-binaries
option since binary
hasn't effected.
I see your points and it's hard to continue to use Carthage until XCFramework be supported.
I think the workaround to make us to use them in Carthage is Firebase team prepares binary for Apple M1, and prepare other jsons for versioning. (Looks so hard to do maintenance)
Since SwiftPM is also not work for us now(#6472), it seems the only way to use Firebase in M1 now is use CocoaPods.
Thank you for your help!
@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
@paulb777 Thank you for your suggestion. It's also good way to introduce as pre-build binary (except versioning).
Carthage update on plans for binary xcframework support at https://github.com/Carthage/Carthage/pull/3071#issuecomment-747085975
Latest "master" branch of carthage compile xcframework correctly. Can we have a release version with the right firebase .xcframework that work on M1 macs please ?
@mmdumi thanks for pointing out that Carthage has merged support. However, it's still not in a release so we can't break all existing Carthage users until at the very least there's a release.
Actually, I haven't seen evidence that binary support for xcframeworks has yet merged. The PR that added support for source xcframeworks explicitly says it will be addressed in a subsequent PR.
As I understand it, no-use-binaries is useless on M1 Macs because there are no arm64 binaries. Which seems kind of silly but I think I read you must build each dependency.
It's there now. After getting 0.37.0, it suggested I rerun with a switch to build an XCFramework, which worked, but then a dependency I am getting from SPM is failing on running in the sim because it can't find the x86 binary. Which makes no sense as I am on M1 and Xcode is not running in Rosetta?
Carthage PR in progress at https://github.com/Carthage/Carthage/pull/3123
Any update on this? The PR was merged
I'm planning to investigate this week.
@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
I think the download link you provided doesn't include FirebaseFirestoreSwift
. Am I correct?
Correct the Swift packages are so far only available via CocoaPods and SPM.
On further investigation, the Carthage release PR with the fix is open and not yet released. I'll follow up when 0.38.0 is available.
In the meantime, if anyone wants to validate that the Firebase xcframeworks work with the pre-release, it would be appreciated.
if anyone wants to validate that the Firebase xcframeworks work with the pre-release, it would be appreciated.
@paulb777 Just validated, works for me 👍
Thanks @dmhts! In that case we should be able to publish a Carthage xcframeworks update soon after 0.38.0 is available.
Carthage 0.38.0 is now released.
We'll work on restoring Carthage publishing sometime after the Firebase 8.0.0 release.
[REQUIRED] Step 1: Describe your environment
[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.Steps to reproduce:
Relevant Code: