我存档一个项目时出错了。这就是我的环境。

Mac OS Lion Xcode 4.3.1 iOS SDK 5.1

项目部署目标为:

IPHONEOS_DEPLOYMENT_TARGET 3.2

错误显示:

ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我猜Pods就是我用来管理XCode项目依赖的CocoaPods。 https://github.com/CocoaPods/CocoaPods

这是我的Podfile

platform :ios  
dependency 'libPusher', '1.1'

我不确定这个错误是什么意思?


当前回答

我尝试了这篇文章中的每一个答案,但都无济于事。最终通过匹配我的目标项目中的“Pre-Configuration Build Products Path”与Pods项目中的值来解决我的问题。原来他们在建造两个不同的输出位置。这篇文章中的其他建议都与我无关。如果XCode给出一个有用的错误描述(比如为什么它不能使用lib - File Not Found, No matching architecture Found等等),那就太好了。

其他回答

请确保打开的是.xcworkspace,而不是.xcodeproj

在我的例子中,问题是Xcode的派生数据位置被设置为“Legacy”选项。CocoaPods目标(libpodds .a)正在正确地构建,但Xcode在错误的地方寻找它。

将其切换为“Unique”(默认值)解决了这个问题。你可以通过去首选项>位置,然后点击高级…按钮。

尝试打开xcworkspace文件而不是xcodeproj文件

我今天也遇到了类似的问题。

我建立了一个新项目 我安装了可可荚 我创建了一个新的配置预览以及现有的调试和发布 现在,当在这个新的预览配置上编译时,编译器将无法链接到Pods并给我这个消息: ld:没有为-lPods找到库

解决方案:

我要做的就是逃跑

 pod install

从而为新的Preview配置配置cocoapods。它更新了我的项目、工作区和Pod的项目文件,问题就消失了

如果你使用的是iOS7和Xcode 5,请:

选择你的Pods项目。 转到目标Pods,在构建设置中,选择架构->标准架构(armv7, armv7s)。 对Pods项目的每个Target执行同样的操作。