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

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'

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


当前回答

简化一下@i4niac的回答:

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

其他回答

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

子文件

target 'xxxx' do

pod 'xyz'
pod 'abc'    

end

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

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

尝试打开xcworkspace文件而不是xcodeproj文件

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

Build Active Architecture Only设置为YES

解决我的问题。

使用Xcode 5和iOS 7

这是我被困一个小时后做的事。从构建设置中删除ARM64 >有效架构。

补充:此外,对于我的情况,它不是派生的数据位置。我选择了唯一的构建位置。

在所有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安装完成。