The 'Pods-Tatget' target has transitive dependencies that include static binaries

1.我用use_frameworks!并在pod install上获得以下错误:
The 'Pods-Test' target has transitive dependencies that include static binaries: (/Users/user/Desktop/QKProject/Test/Pods/BaiduMapKit/BaiduMapKit/thirdlibs/libcrypto.a
由于交叉依赖性,不能同时拥有与框架和静态库相同的pod,导致出现了这种错误
2.Cocoapods 1.3.1及更早的版本不支持静态库框架依赖项,Cocoapods1.4.0中添加了static_framework选项,使您可以指定将pod构建为static_framework,与动态框架不同,它可以具有静态框架依赖性。
3.出现这个问题的主要原因是开启了use_framework!选项,开启这个选项的时候,pods集成的所有的库都会以dynamic library framework的方式引入到工程中。然后发现,有一些我们引入的库本来就是以静态库的方式存在,会导致项目出现一些错误。
3.要解决这个问题,通过pod引入的第三方,则需要修改对应的podspec文件,其依赖项的static_framework为true。任何依赖于static_framework的pod也必须是静态的,动态库不能依赖于静态库
4.若是自己封装的库,依赖的第三方里面包含了静态库,直接修改podspec,修改依赖项:s.static_framework = true。
希望能帮到你,谢谢!

推荐阅读更多精彩内容