错误:ld:库找不到-lPods与CocoaPods
在我用Cocoapods安装了DTCoreText( https://github.com/Cocoanetics/DTCoreText )之后,当我尝试运行模拟器或设备时,总是出现错误!
ld: warning: directory not found for option '-L/Users/example/Desktop/ios/Pods/build/Release-iphoneos' ld: warning: directory not found for option '-L/Users/example/Desktop/ios/Pods/build/Debug-iphoneos' ld: library not found for -lPods-example clang: error: linker command failed with exit code 1 (use -v to see invocation)
在我的“与库链接二进制文件”的“libPods”部分是红色的:
这里是我的build立设置:
我的项目的设置:
我的豆荚的设置:
编辑:
我不完全确定是什么问题,但我解决了它,当我删除所有的DTCoreText和Cocoapods的东西,再次重新安装的一切!
build议尝试以下,为我工作:
a)从“目标设置”视图中的“库”中进行search,然后双击以检查“ Library Search Paths
的值
b)列出了$(inherited)
和$(PROJECT_DIR)/Pods/build/Debug-iphoneos
两个值。 删除后者。
c)做一个完整的清理,build立和运行
d)再次运行pod install
。 请注意,该条目未被恢复。
这也许有助于:
- 在你的主项目(不是豆荚)中select主目标
- 转到“ 构build阶段”选项卡
- 转到与库链接二进制文件
- 删除导致问题的库(它可能是红色的)
在我的链接的二进制文件中,我有libPods.a
和libPods-MyProj.a
。 我以前更新过我的Podfile有两个单独的目标(要在Swift中用桥接来编译testing),这意味着我必须手动删除旧的lidPods.a
依赖项。
确保您打开.xcworkspace文件,而不是.xcodeproj
我发现我的Other Linker Flags构build设置中缺less$(inherited)
。 应用此选项修复了我所看到的缺失的库问题。
我发现select“查找隐式依赖关系”(产品/编辑scheme下)将解决这个问题,而不是必须添加豆荚作为目标。
在目标的“生成设置”页面中查找“库searchpath”。 将Debug的文件夹名称从Debug-iphoneos更改为Debug-iphonesimulator
造成这个问题的原因有很多。
我们需要检查:
- 生成设置
$(inherited)
- 检测所有隐式依赖关系
- …….
故障排除 : http : //guides.cocoapods.org/using/troubleshooting.html
确保缺less的豆荚库实际上build立。 为此,请打开“构buildscheme”
Product > Scheme > Edit Scheme... > Build
添加豆荚目标,并把它放在抱怨图书馆丢失的目标之前(在我的情况下,这是UItesting – 我只是挣扎了几个小时…)
对我来说,错误是:Pods目标不包含i386所需的体系结构片。 所以我点击了Pods项目 – > Pods-ProjectName目标,然后在Build Settings中,将Debug Active和Active Build Architecture都转换为NO 。 这确保了模拟器和设备片都被构build。 模拟器使用i386架构,而实际的设备使用x86-64。 所以你必须确保所有依赖项目的所有相关目标都在同时build立,如果你想同时在模拟器和侧面加载到设备上运行。
当您使用应用扩展名时,导航到扩展名目标,并过滤到库searchpath,删除编译器警告给您的path。