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 --all
和pod 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 中找不到 -lFirebaseCore 的库反应原生