NativeScript / firebase

Modular Firebase 🔥 implementation for NativeScript. Supports both iOS & Android platforms for all Firebase services.
https://docs.nativescript.org/plugins/firebase-core.html
Apache License 2.0
52 stars 46 forks source link

@nativescript/firebase-auth and @nativescript/firebase-ui are incompatible on iOS #218

Closed dlcole closed 10 months ago

dlcole commented 1 year ago

Installing both plugins yields the following build errors:

[!] CocoaPods could not find compatible versions for pod "GTMSessionFetcher/Core":
  In snapshot (Podfile.lock):
    GTMSessionFetcher/Core (< 4.0, = 3.1.0, >= 2.1)

  In Podfile:
    FirebaseUI (~> 13.0) was resolved to 13.0.0, which depends on
      FirebaseUI/Auth (= 13.0.0) was resolved to 13.0.0, which depends on
        FirebaseAuthUI (~> 13.0) was resolved to 13.0.0, which depends on
          FirebaseAuth (< 11.0, >= 8.0) was resolved to 10.7.0, which depends on
            GTMSessionFetcher/Core (< 4.0, >= 2.1)

    FirebaseUI (~> 13.0) was resolved to 13.0.0, which depends on
      FirebaseUI/Google (= 13.0.0) was resolved to 13.0.0, which depends on
        FirebaseGoogleAuthUI (~> 13.0) was resolved to 13.0.0, which depends on
          GoogleSignIn (~> 6.0) was resolved to 6.2.3, which depends on
            GTMSessionFetcher/Core (~> 1.1)
'pod install' command failed.

This may be more of an issue with Google than the plugins, but it's still an issue.

dlcole commented 1 year ago

Based on this SO post, I was able to avoid the above error by adding this line to my Podfile:

$FirebaseSDKVersion = '9.6.0'

which down-levels the Firebase SDK. I'm not sure if this is good, but it works for now. My current Podfile now looks like this:

$FirebaseSDKVersion = '9.6.0'

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      if config.build_settings['WRAPPER_EXTENSION'] == 'bundle'
        config.build_settings['DEVELOPMENT_TEAM'] = '< MY TEAM ID>'
      end
    end
  end
end

and the project includes both @nativescript/firebase-auth and @nativescript/firebase-ui, but DAMN it takes a long time to build - like 20 minutes for what otherwise is a Hello World project!

sudiptosen commented 1 year ago

You are the savior! So difficult to even read logs because it fails on the device. Appreciate you posting this

dlcole commented 10 months ago

This appears to no longer be an issue with the current version of the @nativescript/firebase-core plugins (3.1.3), so I'm closing this issue.