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

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'

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


当前回答

我把这里的每个答案都看了一遍,但对我来说太简单了……转到Target -> Build Phases,然后删除libPods-YourProject。A,然后用“+”再加一次。别担心图书馆是红色的,没事的。

其他回答

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

解决方案

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

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

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

解决方案:

我要做的就是逃跑

 pod install

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

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

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

你是否创建了“分销”或类似的配置来制作Ad-Hoc和App Store存档? 像许多其他人一样,我遵循了苹果的建议,将其命名为“发布”配置,并将其称为“分发”,并为其设置了不同的签名规则。好吧,也许这是他们在组织者中引入计划和“分发”选项之前的一个建议,不管怎样,我只是之前有过。

然后我对豆荚也有同样的问题。调试时一切正常,但存档失败,链接错误。在尝试了这个和那个之后,我把我原始项目的存档配置从“分发”改为“发布”,链接错误消失了。

然而,归档没有显示在组织者,虽然我可以在文件系统中找到它,但它的大小为0。

解决这一切的最后一步是改变“跳过安装”设置为“发布”配置为“NO”。注意,你只需要在你的主项目中这样做,而不是在Pods项目中。最好让pod项目保持原样,因为它是在每次运行“pod install”时生成的。

更新 刚刚得到CocoaPods开发人员的答复 它似乎对我不起作用,因为我已经正确设置了Pods配置。 但它可以帮助其他人。

我有同样的问题,当我编辑Podfile添加目标,我是使用没有目标之前。

子文件

target 'xxxx' do

pod 'xyz'
pod 'abc'    

end

在四处闲逛后,我发现在目标属性>>常规选项卡>>链接框架和库部分,有新的libPods-xxxx。a和旧的libPods.a

我只是删除了libPods。A,一切都很好。