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

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'

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


当前回答

我遇到了一个问题,我创建了自己的.xcworkspace,它保持豆荚形式创建它自己的(在哪里它附加它的库)。

解决方案

我移动了我创建的.xcworkspace,再次运行pod install,然后手动将我的.xcworkspace与通过打开两个工作空间并将文件从一个工作空间拖到另一个工作空间而创建的pod合并。

其他回答

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

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

重命名some_project。工作空间文件到some_project.workspace。备份并运行$pod install。它创建了一个新的工作空间文件,错误就消失了。

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

我确实打开了工作区,但得到了同样的错误。

Build Active Architecture Only设置为YES

解决我的问题。

我在Podfile中通过使用将app和测试目标分开

target :App do
    …
end

target :AppTests do
    …
end

这导致了两个新产品libPods-App。a和libPods-AppTests。a,他们做了之前的产品libPods。一个过时的。我必须从两个目标的构建阶段配置的Link Binary With Libraries部分中删除此产品。