I use use_frameworks!
and get the following error on pod install
:
[!] The 'Pods-Beer' target has transitive dependencies that include static binaries:
(/Users/user/Beer/Pods/Parse/Parse.framework and
/Users/user/Beer/Pods/ParseFacebookUtils/ParseFacebookUtils.framework)
Why is that so? Can I disable frameworks for Parse only to workaround that issue? I have other user-facing pods that need frameworks for IBDesinable to work.
See discussion in the original issue #2926
What is the solution to that then? I don't get it in the referred discussion.
@sarbogast you can't have the same pod linked as framework and static library at the same time. This is what happens here due to cross-dependencies.
@neonichu
I vote for force_frameworks!
to ignore sub-specs and use frameworks even if sub-spec has no idea of their existence. Will this blow up? Otherwise we can pray for next two years that iOS 7 is gone and then maybe we can switch to frameworks by default.
@pronebird This is what already happens, this error is for Pods which include binaries.
The eventual solution is for those Pods to ship dynamic instead of static frameworks.
@pronebird So does that mean I can only wait for Parse to fix their Podspec somehow? Or is there anything I can do to work around that in the meantime?
I am having the same problem
@sarbogast I don't think we can do anything until vendors switch to dynamic frameworks.
The whole Facebook and Parse thing is a mess atm, ParseFacebookUtils references FacebookSDK.h which doesn't exist anymore as of version Facebook iOS 4.0.1 (it is now FBSDKCoreKit). I tried to go to pods to sort this out, but no luck it seems.
@mrowles have you had any luck making your Facebook iOS 4.0.1 pod to work? I have been struggling with that issue and cannot get the files to work at all. Seems like facebook managed to screw it up...
@andreicrisan Check out this developers issue for more information, but looks to be a fix next release:
https://developers.facebook.com/bugs/362995353893156
@sarbogast I've fixed this by downloading parse frameworks from https://parse.com/docs/downloads and add them manually
I don;t use dynamics frameworks, yet I have this error.
Hi,
I am using cocoapods
1.1.0.beta.1 Latest one.
and trying to install
platform :ios, '7.0'
inhibit_all_warnings!
use_frameworks!
pod 'Firebase'
pod 'FirebaseMessaging'
pod 'Reachability'
pod 'AFNetworking'
target 'XXX_Example' do
pod 'XXX', :path => '../'
target 'XXX_Tests' do
inherit! :search_paths
end
end
[!] The 'Pods-XXX_Example' target has transitive dependencies that include static binaries: (/Users/XXX/Desktop/XXX/XXXSDK/XXX-ios/Example/Pods/FirebaseMessaging/Frameworks/FirebaseMessaging.framework)
Please let me know how can i resolve it?
thanks,
@Maheepk I was having the same issue but with CardIO. @cooler333 fix in https://github.com/CocoaPods/CocoaPods/issues/3289 seems to work fine, although I had to place it in the Podfile, not in the podspec, to make it work, but I'm not familiar with the pre_install option (let me know if there's a better way).
@sergiofraile i followed that. That fixed Dependency error but gives me
ld: warning: Auto-Linking supplied '/Users/XXX/Desktop/XXX/XXXSDK/XXX-ios/Example/Pods/FirebaseInstanceID/Frameworks/FirebaseInstanceID.framework/FirebaseInstanceID', framework linker option at /Users/XXX/Desktop/XXX/XXXSDK/XXX-ios/Example/Pods/FirebaseInstanceID/Frameworks/FirebaseInstanceID.framework/FirebaseInstanceID is not a dylib
thanks,
@sergiofraile
I am getting /Users/XXX/Desktop/XXX/XXXSDK/XXX-ios/Example/Pods/Headers/Private/Firebase/Firebase.h:1:9: 'FirebaseAnalytics/FirebaseAnalytics.h' file not found
to fix that i manually Added Firebase, FirebaseAnalytics, FirebaseMessaging and that creates above issue.
thanks,
just add this line into your pod file before "" target 'project name' do ""
inhibit_all_warnings!
its work for me
Since 1.3.0.beta.2 the workaround is now like this:
pre_install do |installer|
# workaround for https://github.com/CocoaPods/CocoaPods/issues/3289
Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
end
Most helpful comment
Since 1.3.0.beta.2 the workaround is now like this: