导致报错的原因
目前项目开始Swift
与Objective-C
混编。因为Swift
不支持静态库。所以需要在Podfile
中使用use_frameworks!
。改完Podfile
后pod update --no-repo-update
。结果编译报错。如下图:
报错原因
使用use_frameworks!
会把由以前的 .a 文件打包成.frameworks
文件(动态链接库:实际内容为Header
+ 动态链接库 + 资源文件),使用dynamic frameworks
来取代static libraries
方式。项目里面的配置文件Target
可能还包含以前的 .a
文件的记录。
解决办法
检查项目Target的配置文件中是否还存在.a
文件。主要查看这几个地方Link Binary With Libraries
,Header Search Paths
, Library Search Paths
, Other Linker Flags
中。我这里主要是把Other Linker Flags
中除了$(inherited)
以外的全部删除就重新编译就可以了。