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

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中只使用_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安装完成。

其他回答

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

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

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

我厌倦了所有的答案,最后我能够通过添加pod库到Xcode构建方案来修复它,在我能够运行它之后,试图从构建方案中删除这个,但它仍然为我工作良好。我想不出确切的原因。

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

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

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

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

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

如果你使用的是iOS7和Xcode 5,请:

选择你的Pods项目。 转到目标Pods,在构建设置中,选择架构->标准架构(armv7, armv7s)。 对Pods项目的每个Target执行同样的操作。