Cocoapods: The 'Pods-App' target has transitive dependencies that include static binaries: (*/Pods/GooglePlacePicker/Frameworks/GooglePlacePicker.framework)) during validation

Created on 21 Nov 2017  ·  24Comments  ·  Source: CocoaPods/CocoaPods

ℹ Please fill out this template when filing an issue.
All lines beginning with an ℹ symbol instruct you with
what info we expect.
Please remove this line and all above before submitting.

Before you start, are you using the latest CocoaPods release?
A lot changes with Xcode releases that are not backwards compatible.

Not an issue about the CocoaPods command line app? Please file an issue in the appropriate repo - https://github.com/CocoaPods
Issues are for feature requests, and bugs; questions should go to Stack Overflow

Using CocoaPods <= 0.39: http://blog.cocoapods.org/Sharding/

Using Xcode 8: Requires CocoaPods 1.1.0 or above.

Issue with Nanaimo not loading:
Please run [sudo] gem uninstall nanaimo and remove all but the latest version.

Issues with pod search? Try deleting your cache rm -rf ~/Library/Caches/CocoaPodsfirst.

Report

What did you do?

Run pod lib lint ANAChat.podspec

What did you expect to happen?
I expect validation to be passed successfully

What happened instead?

Encountered an unknown error (The 'Pods-App' target has transitive dependencies that include static binaries: (*ANAChat/Pods/GooglePlacePicker/Frameworks/GooglePlacePicker.framework)) during validation

CocoaPods Environment

Stack

   CocoaPods : 1.3.1
        Ruby : ruby 2.0.0p648 (2015-12-16 revision 53162) [x86_64-darwin17.2.0]
    RubyGems : 2.7.2
        Host : Mac OS X 10.13.1 (17B48)
       Xcode : 9.1 (9B55)
         Git : git version 2.13.6 (Apple Git-96)
Ruby lib dir : /Users/nowfloats/.rvm/rubies/ruby-2.0.0-p648/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ c638b66c73e1ba627b32eec5c046f49208d35160

Installation Source

Executable Path: /usr/local/bin/pod

Plugins

cocoapods-deintegrate : 1.0.1
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.0.0
cocoapods-trunk       : 1.3.0
cocoapods-try         : 1.1.0

Project that demonstrates the issue

It is a development pod which I'm trying to build.

Most helpful comment

I solve my problem using just the specific import that I'm using, for example.
In my SDK I'm using FirebaseCore and FirebaseAnalytics.
Into my class I just import:

import FirebaseCore
import FirebaseAnalytics

And in my .podspec I needed to set static_framework property to true, so my .podspec it's seems like code below:

s.static_framework = true

s.dependency 'Firebase'
s.dependency 'Firebase/Core'

It works for me!

All 24 comments

CocoaPods version 1.3.1 and earlier do not support static framework dependencies.

CocoaPods 1.4.0 adds the static_framework option in #6811 that enables you to specify building a pod as a static_framework, which unlike dynamic frameworks, can have static framework dependencies.

Even after adding the below key to podspec. I'm getting the same error.

s.static_framework = true

error is The 'Pods-App' target has transitive dependencies that include static binaries: (/private/var/folders/ck/b486txj55d171n97wqcg49mw0000gn/T/CocoaPods-Lint-20171122-64905-1jwdftf-*/Pods/GooglePlacePicker/Frameworks/GooglePlacePicker.framework)) during validation.

We'll need a reproducible example.

Is CocoaPods 1.4.0 a still development version .? If yes, when is it gonna release to production.?
gem install cocoapods is only updating to CocoaPods 1.3.1.

It is working fine when I import it in swift project. But when I import the same in Objective C Project, I'm unable to import my framework module in the app.

Ex. library not found for -lswiftCoreLocation for architecture x86_64

@paulb777 If I made a podspec whose dependency's static_framework is true. Should this pod's static_framework must be true?

@lumialxk Yes, any pod that depends upon a static_framework must also be static. Dynamic libraries cannot depend on on static libraries.

@paulb777 Why “Dynamic libraries cannot depend on on static libraries”?If a dynamic library depend on a static library, symbols of static libarary will be take into the dynamic library (after Compile & link).

If a pod whose dependency's static_framework is true,and I need install this pod as a dynamic library, how to make it work?

@yooomark If an app links multiple dynamic libraries that include the same static library, the app will get undefined behavior, since there will be multiple copies of the same static library. Consider static initialization or Objective C's NSClassFromString.

@paulb777 Yes, in Objective-C that would be a problem. But if there is only one dynamic library or I'm sure that none undefined behavior will happen (For example, no singleton object in the static library), there is no way to pod a dynamic library whose dependency's static_framework is true.

If I want to customize this feature, just need comment the verify_no_static_framework_transitive_dependencies check ?

I really need this feature in my app, please give me some help. Thx.
Looking forward to your reply.

I solve my problem using just the specific import that I'm using, for example.
In my SDK I'm using FirebaseCore and FirebaseAnalytics.
Into my class I just import:

import FirebaseCore
import FirebaseAnalytics

And in my .podspec I needed to set static_framework property to true, so my .podspec it's seems like code below:

s.static_framework = true

s.dependency 'Firebase'
s.dependency 'Firebase/Core'

It works for me!

i am getting the same error how to fix this issue?

[!] The 'Pods-App' target has transitive dependencies that include statically linked binaries: (cloud_firestore, FirebaseAuth, FirebaseCore, FirebaseInstanceID, FirebaseDatabase, FirebaseFirestore, FirebaseFunctions, FirebaseMessaging, FirebaseStorage, and firebase_core)

where can i find .podspec file? is it in Flutter project or ios project?

Even after adding the below key to podspec. I'm getting the same error.

s.static_framework = true

error is The 'Pods-App' target has transitive dependencies that include static binaries: (/private/var/folders/ck/b486txj55d171n97wqcg49mw0000gn/T/CocoaPods-Lint-20171122-64905-1jwdftf-*/Pods/GooglePlacePicker/Frameworks/GooglePlacePicker.framework)) during validation.

s.static_framework = true is work for me,think you very much.

I tried many solution.
Only below works for me .
s.static_framework = true

Invalid Podfile file: undefined local variable or method `s'

@Anujmoglix The referenced solution is for pod suppliers to update their podspecs.

Invalid Podfile file: undefined local variable or method `s'

add s.static_framework = true in [yourProject]/node_modules/lottie-react-native/lottie-react-native.podspec

commenting use_frameworks! fixed the issue for me. Have no idea why.

For me, I deleted the ios/Flutter/Flutter.framework folder and install pods pod install again then it worked.

use_frameworks!

remove this line of your pod file, if you're having this problem, it works for me.

where can i find .podspec file? is it in Flutter project or ios project?

where can i find .podspec file? is it in Flutter project or ios project?

use_frameworks!

remove this line of your pod file, if you're having this problem, it works for me.

It works like magic. Thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

k06a picture k06a  ·  3Comments

sonu5 picture sonu5  ·  3Comments

spencerkohan picture spencerkohan  ·  3Comments

gerchicov-bp picture gerchicov-bp  ·  3Comments

steffendsommer picture steffendsommer  ·  3Comments