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

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'

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


当前回答

我在存档提交时也遇到了同样的问题。 关于这个问题的讨论可以在这里找到:https://github.com/CocoaPods/CocoaPods/issues/155

总之,有两种方法适合我:

将“首选项->位置->高级”设置为“自定义(相对于工作空间)”或 设置Podfile为- platform:ios,:deployment_target => "5.0"

其他回答

在我的例子中,这个链接中的第4个FAQ帮助了我: https://github.com/CocoaPods/CocoaPods/wiki/Creating-a-project-that-uses-CocoaPods

如果问题仍然存在,您可以尝试其他一些方法。

简化一下@i4niac的回答:

另一个常见的原因是方案的构建配置不匹配。 在我们的案例中,我们的“AppName-AppStore”方案将“发布”作为存档构建配置,而不是“AppStore”。

我将项目从“伙伴”重命名为“NBSelector”。

在重命名项目后,我有“libPods-Partners未找到库”错误。Xcode试图链接到旧的合作伙伴。一个文件。只要删除它,如果你有podInstalled重命名后。

我解决了这个问题,为我的项目设置架构和有效架构相同的所有pod。所以在我的案例中,洞的解决方案是:

更新可可荚:sudo宝石更新可可荚 更新pod:更新pod 在你的pod中,转到你的构建设置>架构,并将这里的架构和有效架构设置为与主项目相同的值。

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

target :App do
    …
end

target :AppTests do
    …
end

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