EddyVerbruggen / nativescript-plugin-firebase

:fire: NativeScript plugin for Firebase
https://firebase.google.com
MIT License
1.01k stars 448 forks source link

Feature (ios): Use pre-built xcframework binaries for FirebaseFirestore pod #1772

Open delaneyb opened 3 years ago

delaneyb commented 3 years ago

This PR alters the source for the ios FirebaseFirestore pod to instead use the pre-compiled .xcframework binaries provided by https://github.com/invertase/firestore-ios-sdk-frameworks

I set this up in my private repo fork months ago and do remember needing to update cocoapods and potentially bumping into one or two other minor changes I had to make, so this will need some testing and possibly adjustment to the Readme.

Why

Currently the Firestore iOS SDK depends on some 500k lines of mostly C++, which when compiling as part of your Xcode build takes a long time - even more so in CI environments.

Related Issues

Before & After

Before and after timing below, timed when running Xcode build (with cache fully cleared) in a project with Firestore.

Mac mini (2018) 6 cores:

Before:    ~ 240s
After:     ~  45s

GitHub Action CI 2 cores:

Before:    ~ 551s
After:     ~ 174s