25

我刚刚将旧项目升级到新的 iOS 7。它已经在使用 Cocoapods。我编译并运行,在模拟器和设备上一切正常。我尝试使用 Xcode 将其存档,但出现以下错误。

ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)

有任何想法吗!

更新:

Pods 项目的架构设置如下:

Standard architectures (armv7,armv7s)

解决方案

Cocoapods 已从我的项目中删除。现在一切都很好!

4

8 回答 8

33

听起来你只需要更新 cocoapods。对于不想通过简单地从项目中删除 cocoapods 来解决问题的其他人,请执行以下操作:

  1. 检查你的 cocoapods 版本:

    吊舱--版本

  2. 如果小于 0.25.0,则需要进行更新(必要时不要忘记“sudo”):

    gem 更新 cocoapods

  3. 确保您的 pod 已更新:

    吊舱安装

  4. 最后,打开您的 .xcworkspace 文件。

你应该很高兴。

于 2013-10-01T19:05:18.890 回答
22

我在尝试将 CocoaPods 添加到现有项目时遇到了这个问题。

事实证明 CocoaPodsArchitectures设置正确,但错过了Build Active Architecture Only设置。两者都必须与您的主项目完美同步,否则在为真实设备构建时会失败(至少如果您有多个 ARM 架构,您通常会这样做(armv7、armv7s 和现在的 arm64))。

为我解决了这个问题,希望这能帮助其他有类似问题的人。

于 2014-01-12T22:06:23.587 回答
7

我刚刚在我的工作区中解决了这个问题。就我而言,这与升级到 iOS 7 无关。相反,它与 App Store 提交的归档有关。我创建了一个 App Store 配置(Release 配置的副本),并且我试图将 App Store 配置用于存档操作(在 Product > Scheme > Edit Scheme... > Archive > Build Configuration 下配置)。问题是我已经为我的应用程序项目创建了 App Store 配置,但我没有为 Pods 项目(CocoaPods 添加到应用程序工作区的项目)创建 App Store 配置。一旦我这样做了(同样,只是发布配置的副本),存档操作就成功了。

于 2013-10-08T00:52:28.307 回答
5

发生这种情况的原因多种多样。这个页面真的很有帮助:

http://guides.cocoapods.org/using/troubleshooting.html

出于某种原因,我将工作区构建位置更改为旧版。将其改回自定义:相对于派生数据为我解决了这个问题!

于 2014-01-21T06:33:49.377 回答
5

@john doe(该线程的所有者)的解决方案是正确的,您必须首先通过运行为您的项目设置 CocoaPods

pod setup

接着

pod install
于 2013-12-28T04:50:16.260 回答
3
  1. 尝试从 Build Setting -> Architectures (armv7, armv7s) 中删除 arm64
  2. 将 Build Active Architectures Only 设置为 NO

刚刚为我工作。

cocoapods 版本 0.34.1

于 2014-10-06T19:34:50.467 回答
1

我有不同的问题 - 重复文件。
也许您的项目中也有重复项。就像 Pods 中的文件一样,其他文件是您在开始使用 Cocoapods 之前没有删除的旧文件。
仔细检查它们。

于 2015-02-08T09:33:03.027 回答
-2

设置 pod 的架构。

点击 Pods>Build Settings>Architecturs>armv7,armv7s

于 2013-09-24T04:41:18.677 回答