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

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'

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


当前回答

通过以下步骤解决这个问题:

更新cocoapods安装。$ [sudo] gem install cocoapods 重新安装项目下的依赖项。(舱安装) 清理和重建/存档。

其他回答

我把我的pod列表在Podfile中划分为不同的目标,比如:

target :ABC do
  pod 'KissXML', '~> 5.0'
  pod 'libPhoneNumber-iOS', '~> 0.7.2'
end

target :ABCTests do
  pod 'OCMock', '~> 2.2.1', :inhibit_warnings => true
end

然后安装了吊舱

这创建了一个新的库libPods-ABC。我的二进制文件必须链接到的A。但错误是它没有删除之前的库,即libPods.a。

解决方案:删除libPods库。a来自Link Binary With Libraries的构建阶段。

在这个问题中,如果你已经在你的系统中安装并更新了pod,那么你的Xcode无法找到Pods库。要解决此问题,请检查以下可能发生的原因:

您正在使用工作区。 构建Pods库。 Pods库在项目的产品组中被引用。 你的目标是在框架构建阶段的链接中包含Pods库。

只有将“库搜索路径”(在“MyProject”的构建设置中)添加到“Pods/ Build / debug - iphonessimulator”中才对我有效(当使用模拟器时)。

从这里开始: https://github.com/CocoaPods/CocoaPods/issues/121#issuecomment-5452473

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

target :App do
    …
end

target :AppTests do
    …
end

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

我也有同样的问题。在我的案例中,这是一个xCode错误。我所要做的就是删除“有效的拱门”,做一个清洁,重新添加他们,我就好了。一般来说,也可以尝试更新的cocoapods。