在我用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)
在我的“Link Binary With Libraries”中,“libPods”部分为红色:
以下是我的构建设置:
我的项目设置:
我的Pod的设置:
修改
我不确定问题是什么,但是当我删除所有DTCoreText和Cocoapods的东西并重新安装所有东西时我解决了它!
答案 0 :(得分:48)
建议尝试以下方法,这对我有用:
a)从“目标设置”视图中的“库”进行搜索,然后双击以检查Library Search Paths
的值
b)列出$(inherited)
和$(PROJECT_DIR)/Pods/build/Debug-iphoneos
两个值。删除后者。
c)做一个完整的清洁,构建&运行
d)再次运行pod install
。请注意,该条目未恢复。
答案 1 :(得分:35)
这也可能有所帮助:
答案 2 :(得分:25)
在我的链接二进制文件中,我同时拥有libPods.a
和libPods-MyProj.a
。我以前更新了我的Podfile以获得两个单独的目标(通过桥接在Swift中进行编译测试),这意味着我必须手动删除旧的lidPods.a
依赖项。
答案 3 :(得分:23)
确保打开.xcworkspace文件,而不是.xcodeproj
答案 4 :(得分:8)
我发现其他链接标记构建设置中缺少$(inherited)
。应用此选项修复了我看到的缺少库问题。
答案 5 :(得分:5)
我发现选择“Find implicit Dependencies”(在产品/编辑方案下)将解决此问题,而不必将pod添加为目标。
答案 6 :(得分:4)
在目标的Build Settings页面中查找“Library Search Path”。将Debug的文件夹名称从Debug-iphoneos更改为Debug-iphonesimulator
答案 7 :(得分:2)
造成这个问题的原因有很多。
我们需要检查:
$(inherited)
答案 8 :(得分:2)
确保实际构建缺少的pods库。为此,请打开构建方案
Product > Scheme > Edit Scheme... > Build
添加Pods目标并将其放在抱怨该库丢失的目标之前(在我的情况下,这是UI测试 - 我只是努力了几个小时......)
答案 9 :(得分:2)
对我来说,错误是:Pods目标不包含i386所需的架构切片。所以我点击了Pods项目 - >对于调试和发布,Pods-ProjectName目标和构建设置中的仅构建活动架构为否。这样可以确保构建模拟器和设备切片。模拟器使用i386架构,实际设备使用x86-64。因此,如果要在模拟器上运行并同时加载到设备,则必须确保所有相关项目的所有相关目标都在构建。
答案 10 :(得分:0)
当您使用App扩展时,导航到扩展目标,并过滤到库搜索路径,删除编译器警告您的路径。
答案 11 :(得分:0)
从armv7
中的VALID_ARCHS
中删除Build Settings
对我来说解决了这个问题(Xcode 10.3)。在armv7s
中只有arm64
,arm64e
和VALID_ARCHS
之后,我才能提交。
答案 12 :(得分:0)
首先我跑
<块引用>sudo rm -r /Library/Developer/CommandLineTools
删除命令行工具目录。 然后我再次安装了命令行工具
<块引用>xcode-select --install
这为我解决了这个问题。