使用Parse-Server/Heroku的iOS项目编译失败:找不到-lBolts库求助
解决
ld: library not found for -lBolts 编译错误的实用方案 我之前在老版本Xcode+Pods环境下也碰到过一模一样的问题,给你几个按优先级排序的解决思路,挨个试试:
先确认你打开的是正确的项目文件
很多时候是因为习惯了打开.xcodeproj,但CocoaPods生成的依赖只会在.xcworkspace里生效。赶紧关掉当前的Xcode窗口,找到项目根目录下的你的项目名.xcworkspace重新打开,再编译试试。彻底清理+重新构建
按顺序执行这几步:- 用
Cmd + Shift + K清理项目产物 - 用
Cmd + Option + Shift + K清空整个构建文件夹 - 回到终端,在项目根目录重新跑一遍
pod install - 回到Xcode重新编译项目
- 用
检查Build Settings里的路径配置
- 选中你的主项目Target,切换到
Build Settings标签页 - 搜索
Library Search Paths,确保里面包含$(inherited)这个值,而且它的顺序在自定义路径前面——CocoaPods靠这个来自动加载依赖库的路径 - 同样检查
Framework Search Paths,也要确保有$(inherited)
- 选中你的主项目Target,切换到
重置Pods依赖环境
如果上面的方法都没用,可能是Pods的安装缓存出问题了:- 先删掉项目根目录下的
Podfile.lock文件和Pods文件夹 - 终端里跑
sudo gem install cocoapods-deintegrate(如果没装过这个插件的话) - 再跑
pod deintegrate彻底移除Pods的集成痕迹 - 最后重新执行
pod install
- 先删掉项目根目录下的
手动检查链接库配置
- 选中主项目Target,切换到
Build Phases标签页 - 找到
Link Binary With Libraries部分 - 看看有没有
Bolts.framework或者libBolts.a(不同版本的Bolts格式可能不一样),如果没有就点击+号,从Pods文件夹里找到对应的Bolts库添加进去
- 选中主项目Target,切换到
要是这些步骤都试过还是不行,你可以补充一下你的Podfile内容,这样能更精准定位问题。
内容的提问来源于stack exchange,提问作者Michel
相关产品推荐
相关产品推荐

