Xcode:ld:找不到-lAFNetworking的库

Posted

技术标签:

【中文标题】Xcode:ld:找不到-lAFNetworking的库【英文标题】:Xcode: ld: library not found for -lAFNetworking 【发布时间】:2015-12-15 02:54:44 【问题描述】:

由于这个原因,构建总是失败...关于我可以尝试什么的任何想法?

编辑:解决方案是打开 xcworkspace 而不是 xcproject!

【问题讨论】:

可能是有帮助的。关注链接***.com/a/32945607/4261814 请点击方案按钮,然后-> GENERIC ios DEVICE。如果您选择该选项,那么它会构建吗?如果是这样,这有助于影响答案。 谢谢我解决了这个问题! 【参考方案1】:

对我来说这一切都无济于事。仅在构建设置项目中删除。

【讨论】:

【参考方案2】:

使用 xcworkspace 代替 xcproject 进行构建?

这通常发生在使用 Cocoapods 并且您从不了解 cocoapod 库的 xcproject 构建时发生。

【讨论】:

【参考方案3】:

有一个类似的问题...花了一段时间才意识到我已将我的应用程序的“iOS 部署目标”更新到 iOS 9.0,但 Pods 项目的“iOS 部署目标”仍然是 iOS 8.0 !!!

【讨论】:

【参考方案4】:

打开 xcode,从左上角选择显示为未找到的 pod 库。使用“命令 B”构建此 pod,然后再次选择目标方案并运行。

对我来说,这解决了它。

【讨论】:

【参考方案5】:

我在 project->TARGETS->Build Phases ->Link Binary With Libraries 中有一个“额外”的框架,该框架来自最近的项目。延迟它,一切顺利

【讨论】:

【参考方案6】:

可能是您在安装 pod 后打开 .xcodeproj 文件。关闭项目并打开 .xcworkspace 文件。

【讨论】:

如果我不使用可可豆荚? 真是个愚蠢的错误。 :( 谢谢你救了我们的命。_/\_ 如果不是因为这条评论,我永远不会知道这一点。谢谢!!【参考方案7】:

我在使用带有 ReactNative 项目的 fastlane 时遇到了这个问题。我添加了一个需要 cocoapods 的依赖项。

我的 Fastfile 看起来像这样:

...
gym(
  scheme: "AppName",
  project: "./ios/AppName.xcodeproj"
)
....

并且不得不像这样将其更改为工作区:

...
gym(
  scheme: "AppName",
  workspace: "./ios/AppName.xcworkspace"
)
...

【讨论】:

【参考方案8】:

我在使用 PODS 库时曾多次遇到此问题。

您可以尝试以下方法:

    再次运行pod cache clean --allpod install

    检查您的标头搜索路径和库搜索路径,删除所有条目并将 $(PROJECT_DIR) 置于递归模式,并将 $(inherited) 作为第二个条目

    转到您的目标构建设置 -> 其他链接器标志 -> 双击。将 $(inherited) 添加到新行。

【讨论】:

【参考方案9】:

确保在 Pods 项目设置中将 Build Active Architecture Only 设置为 NO

【讨论】:

当你发布它应该是正确的? 发布配置应该是 NO,因此您的应用程序构建在所有架构中,从技术上讲,将/可以安装在多种类型的设备中的配置必须是 NO,例如当您的团队临时构建时他们有 iPad 和 iPhone,而且 App Store 的构建绝对不需要。其他配置,例如调试,可以是 YES,这也将缩短您的构建时间。【参考方案10】:

我从 github 下载一些代码时遇到了这个错误。我尝试构建 .xcodeproj 文件,但未能给出未找到库的错误。然后我打开 .xcworkspace 文件并首先通过单击 Product -> Build for -> Running 来构建该文件。工作区文件构建良好,没有错误。然后在工作区文件中,我将方案更改为我尝试构建的 xcode 项目,然后单击产品-> 运行。该应用程序已构建并运行,没有出现任何错误。

【讨论】:

【参考方案11】:

有同样的问题。

我在 https://premium.wpmudev.org/forums/topic/anybody-solved-this-linker-command-failed-with-exit-code-1 和 Adlair Cerecedo-Mendez 的帮助下做了什么

    删除 Xcode 左侧面板中的“Pods”项目。 关闭 Xcode 并在 finder 中删除此文件。 再次安装 pod。 打开 Xcode 并清理。 确认您的项目以及 Pods 项目的构建选项“仅构建活动架构”设置为“否”(使用左侧面板选择)。 单击您的项目方案(顶部,靠近停止按钮)和“管理方案”。 检查,选择所有 Pod 库并关闭。 然后,对于所有库,选择它们(滚动列表)并为所选架构手动构建。

每次更改架构(模拟器、设备或存档(通用 iOS 设备))时,您必须执行上述步骤:即,通过在滚动列表中逐个选择每个库来手动构建每个库,并且仅构建并运行你的主项目。

似乎有点 WTF,但这是我解决此问题的唯一方法...

【讨论】:

我认为这需要成为公认的答案。谢谢! 第 7 步和第 8 步解决了我的问题。构建缺失的 pod 库。谢谢 我看不到“Pods”项目,但这是因为我打开的是 xcodeproj 文件而不是 xcodeworkspace 文件。否则,解决了我的问题,谢谢。【参考方案12】:

我在考虑两种可能性:

1) 安装cocoapods-deintegrate项目:

$ gem install cocoapods-deintegrate

然后运行$ pod deintegrate,然后再次运行$ pod install。如果它不起作用,那么...

2) 您可以尝试打开您的 Pods 项目并为您需要的目标创建新方案,在本例中为 AFNetworking

创建静态库后,将其添加到主项目的框架引用中。

希望对您有所帮助。

【讨论】:

这个救了我。在我将 Cocoapods 升级到 1.0.1 之后,我在 Cocoapods 上遇到了非常非常困难的时期。 不起作用。这会导致另一个烦人的问题:gem(s) (Gem::MissingSpecError)

以上是关于Xcode:ld:找不到-lAFNetworking的库的主要内容,如果未能解决你的问题,请参考以下文章

ld:找不到框架,Xcode上的颤振错误

Xcode:ld:找不到-lAFNetworking的库

ld:在 Xcode 中找不到 -lFirebaseCore 的库反应原生

ld:找不到框架 Parse Xcode 7 beta

ld:找不到-lIOKit.A clang xcode 的库

ld:找不到框架 Crashlytics Xcode7.2.1