You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
target has transitive dependencies that include static binaries #34
I've been trying to use the FirebaseUI pod v0.3.1 and I am getting this error when I run 'pod install'.
[!] The '******' target has transitive dependencies that include static binaries: (path../Pods/Google/Libraries/libGGLCore.a and path../Pods/Google/Libraries/libGGLSignIn.a)
This is my pod file:
platform :ios, '8.0'
use_frameworks!
target 'projectName' do
pod 'FirebaseUI', '~> 0.3'
end
As mentioned in #23, we can't do anything until Google changes the way they handle their pods. You'll either have to remove use_frameworks! or use FirebaseUI/Core.
Alternatively we can break out providers as per #26, at which point you can use providers other than Google with use_frameworks!.
Removing the use_frameworks! will add all pods as static libraries, therefore you will have to import them through the Obj-c-bridge-header file in order to use them in your code.
I have tried on pod -v 1.0.0.beta.2, and the error still persists.
[!] The 'Pods-...' target has transitive dependencies that include static binaries: (../Pods/Google/Libraries/libGGLCore.a and ../Pods/Google/Libraries/libGGLSignIn.a)
+1. I'm running in to the same problem. Trying to make a new project from FirebaseUI and add the static libraries using CocoaPods in order to simplify my life with authing using Firebase. Is this viable?
@mcdonamp I would go for Obj-C since most of the job is already done, but I would love a Swift version of this. I am trying to use it from iOS 8.4 to 9.2.1
Yeah, it's an issue of use_frameworks not being compatible with Google pods (which are shipped as static libs). Since we try to coerce our pod into being a framework, but the Google pod can't be, Cocoapods freaks out... We could support Carthage (which would fix this since it's just including the libs and their dependencies without the Cocoapods magic), or see about fixing some of the Google pods issues. The real issue here is that iOS 7 can't have dynamic frameworks, so if you're a library/framework developer trying to support 7-9, things get a little tricky :/
Glad you got it working without Google, though it's sad that's what had to happen. If you're interested in helping out more, you could work on #26, which makes each provider it's own subspec, so you don't have to maintain FireUInoGoogle, but rather developers could just choose to not import FirebaseUI/GoogleAuth.
Firstly, apologies, I'm a bit new to Xcode and Swift, however, I'm really keen to try out Firebase and FirebaseUI.
Removing the use_frameworks! will add all pods as static libraries, therefore you will have to import them through the Obj-c-bridge-header file in order to use them in your code.
I've followed the instructions given to add the pods as static libraries by removing the use_frameworks! statement in the Podfile. I've also added lines into my objc bridging header file like so:
@motizuki You should always add the umbrella header #import "FirebaseUI/FirebaseUI.h which should pull in everything necessary to run FirebaseUI (I need to check if it's properly done for the new Auth stuff--I have a feeling it isn't). EDIT: Well, look at that--I got rid of it when we added Auth. Anyways, the above advice is useful when people provide it for you ;)
The thing that I assume is missing is the module.modulemap, which (in most cases) takes the Umbrella header and wraps it like so:
framework module FirebaseUI {
umbrella header "FirebaseUI.h" // except we don't have one >.<
header "FirebaseArray.h" // and all other headers
export *
module * { export * }
}
The modulemap is typically generated through Cocoapods, but is either not being created, or is empty due to the lack of an umbrella header. You can modify the modulemap with the new stuff manually to try it out while we work to get some reasonable fixes.
Hey folks! 0.3.2 added support for per-provider subspecs, so at least now you can pick and choose which providers to install, which means that this bug is only a problem if you desire to use Google authentication (as it's a limit of Google SignIn, rather than FirebaseUI). I'll be closing it since it's "solved" in the general case, and developers should know how to deal with it when using Google SignIn.
Activity
motizuki commentedon Dec 27, 2015
Ref issue #23
It would be great if we could fix the issue on FirebaseUI/Auth + use_frameworks! since I will need to use frameworks for further pods.
asciimike commentedon Dec 30, 2015
As mentioned in #23, we can't do anything until Google changes the way they handle their pods. You'll either have to remove
use_frameworks!or useFirebaseUI/Core.Alternatively we can break out providers as per #26, at which point you can use providers other than Google with
use_frameworks!.motizuki commentedon Jan 2, 2016
Oh cool, I will try that.
Thanks
paulthorsteinson commentedon Jan 2, 2016
I can't get any project in Xcode 7.2 to compile with the latest FirebaseUI, even if i remove use_frameworks!
motizuki commentedon Jan 3, 2016
Removing the use_frameworks! will add all pods as static libraries, therefore you will have to import them through the Obj-c-bridge-header file in order to use them in your code.
paulthorsteinson commentedon Jan 3, 2016
Thanks, totally forgot to do that after removing use_frameworks! 👍
asciimike commentedon Jan 14, 2016
Has anyone tried this on Cocoapods 1.0 (or even 0.39) yet? They seem to claim it was fixed as of 0.39 (http://blog.cocoapods.org/CocoaPods-0.39/)
motizuki commentedon Jan 14, 2016
I have tried on pod -v 1.0.0.beta.2, and the error still persists.
[!] The 'Pods-...' target has transitive dependencies that include static binaries: (../Pods/Google/Libraries/libGGLCore.a and ../Pods/Google/Libraries/libGGLSignIn.a)
asciimike commentedon Jan 14, 2016
Ok, thanks for letting us know, we'll do some more digging :)
On a related note, I wish their docs gave a little more info on what they did or how the feature worked...
eeschimosu commentedon Feb 5, 2016
+1. I'm running in to the same problem. Trying to make a new project from FirebaseUI and add the static libraries using CocoaPods in order to simplify my life with authing using Firebase. Is this viable?
asciimike commentedon Feb 5, 2016
@eeschimosu Swift or Obj-C, and which version of iOS are you trying to use?
eeschimosu commentedon Feb 5, 2016
@mcdonamp I would go for Obj-C since most of the job is already done, but I would love a Swift version of this. I am trying to use it from iOS 8.4 to 9.2.1
eeschimosu commentedon Feb 5, 2016
I've removed the Google static dependencies and created this Pod: https://github.com/eeschimosu/FireUInoGoogle. It's useful if you don't want or need the Google Auth.
asciimike commentedon Feb 8, 2016
Yeah, it's an issue of
use_frameworksnot being compatible with Google pods (which are shipped as static libs). Since we try to coerce our pod into being a framework, but the Google pod can't be, Cocoapods freaks out... We could support Carthage (which would fix this since it's just including the libs and their dependencies without the Cocoapods magic), or see about fixing some of the Google pods issues. The real issue here is that iOS 7 can't have dynamic frameworks, so if you're a library/framework developer trying to support 7-9, things get a little tricky :/Glad you got it working without Google, though it's sad that's what had to happen. If you're interested in helping out more, you could work on #26, which makes each provider it's own subspec, so you don't have to maintain FireUInoGoogle, but rather developers could just choose to not import FirebaseUI/GoogleAuth.
codemodouk commentedon Feb 18, 2016
Hi @motizuki,
Firstly, apologies, I'm a bit new to Xcode and Swift, however, I'm really keen to try out Firebase and FirebaseUI.
I've followed the instructions given to add the pods as static libraries by removing the use_frameworks! statement in the Podfile. I've also added lines into my objc bridging header file like so:
#import "FirebaseUI/FirebaseArray.h" #import "FirebaseUI/FirebaseAppDelegate.h"...etc...However, I still get a No Such Module 'FirebaseUI' when I attempt to import it into my Swift app.
Can you provide any guidance on how to get this working?
Thanks
asciimike commentedon Feb 18, 2016
@motizuki You should always add the umbrella header
#import "FirebaseUI/FirebaseUI.hwhich should pull in everything necessary to run FirebaseUI (I need to check if it's properly done for the new Auth stuff--I have a feeling it isn't). EDIT: Well, look at that--I got rid of it when we added Auth. Anyways, the above advice is useful when people provide it for you ;)The thing that I assume is missing is the
module.modulemap, which (in most cases) takes the Umbrella header and wraps it like so:The modulemap is typically generated through Cocoapods, but is either not being created, or is empty due to the lack of an umbrella header. You can modify the modulemap with the new stuff manually to try it out while we work to get some reasonable fixes.
codemodouk commentedon Feb 20, 2016
Thanks Mike, I will keep an eye out for the fix.
asciimike commentedon Feb 22, 2016
Hey folks! 0.3.2 added support for per-provider subspecs, so at least now you can pick and choose which providers to install, which means that this bug is only a problem if you desire to use Google authentication (as it's a limit of Google SignIn, rather than FirebaseUI). I'll be closing it since it's "solved" in the general case, and developers should know how to deal with it when using Google SignIn.