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

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'

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


当前回答

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

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

其他回答

如果你正在为iOS7和Xcode5存档,并得到这些错误,请参考这个链接。苹果似乎放弃了可可豆荚所需要的架构 https://github.com/CocoaPods/CocoaPods/pull/1352

在我的案例中,pod安装在创建分发和发布方案后解决了这个问题。

如果你在cocoapods v25 / Xcode 5上遇到问题

Pods Xcode项目现在在Debug配置中将ONLY_ACTIVE_ARCH构建设置设置为YES。您必须在项目/目标上设置相同的参数,否则构建将失败。

https://github.com/CocoaPods/CocoaPods/wiki/FAQ#running-into-build-failures-after-migrating-to-xcode-5-and-cocoapods-0250

更新 确保你有最新的宝石/ cocoapods

Gem更新系统 Gem更新cocoapods

您将希望使用 Pod安装重建项目。

我有一个旧的libPod。指定的文件(可能是我更改目标造成的)。

项目设置->构建阶段->链接二进制库

通常,cocoapods只包含一个库,比如libPods-target。或libPods.a。我通过移除副本解决了这个问题。

在所有pod中只使用_active_arch =NO解决了我的问题。为了让它持久,我在Podfile中添加了一个post_install钩子:

post_install do |installer_representation|
  installer_representation.project.targets.each do |target|
      target.build_configurations.each do |config|
            config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
      end
  end
end

Pod安装完成。