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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容