Podfile中使用use_frameworks!导致Xcode编译报错

导致报错的原因

目前项目开始SwiftObjective-C混编。因为Swift不支持静态库。所以需要在Podfile中使用use_frameworks!。改完Podfilepod update --no-repo-update。结果编译报错。如下图:

Xcode error

报错原因

使用use_frameworks!会把由以前的 .a 文件打包成.frameworks文件(动态链接库:实际内容为Header + 动态链接库 + 资源文件),使用dynamic frameworks来取代static libraries方式。项目里面的配置文件Target可能还包含以前的 .a文件的记录。

解决办法

检查项目Target的配置文件中是否还存在.a文件。主要查看这几个地方Link Binary With LibrariesHeader Search PathsLibrary Search PathsOther Linker Flags中。我这里主要是把Other Linker Flags中除了$(inherited)以外的全部删除就重新编译就可以了。

删除红色框中内容

只剩下$(inherited)

你可能感兴趣的:(Podfile中使用use_frameworks!导致Xcode编译报错)