Xcode:ld:无法找到库-lAFNetworking

46
由于这个原因,编译构建总是失败...你有什么想法可以尝试吗?

Because of this one reason, build always fails...Any ideas about what I could try?

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

也许这会有所帮助。请点击链接http://stackoverflow.com/a/32945607/4261814。 - George
1
请点击方案按钮,然后选择 -> 通用 iOS 设备。如果您选择了该选项,那么它能构建成功吗?如果可以,那将有助于影响答案。 - William Entriken
谢谢,我解决了这个问题! - Akbapu
12个回答

93

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


2
如果我不使用 CocoaPods 呢? - Augusto
2
这是一个非常愚蠢的错误。:( 感谢您挽救了我们的生命。_/\_ - Ishita Sinha
2
如果不是这个评论,我永远不会知道这个。谢谢! - RealNapster

22

我遇到了相同的问题。

在 Adlair Cerecedo-Mendez 和 https://premium.wpmudev.org/forums/topic/anybody-solved-this-linker-command-failed-with-exit-code-1 的帮助下,我进行了以下操作:

  1. 在 Xcode 的左侧面板中删除 "Pods" 项目。
  2. 关闭 Xcode 并在查找器中也删除此文件。
  3. 重新安装 pods。
  4. 打开 Xcode 并清除。
  5. 验证您的项目以及 Pods 项目的构建选项 "仅构建活动架构" 设置为 "NO"(选择左侧面板)。
  6. 单击您的项目方案(靠近停止按钮的顶部)并选择 "管理方案"。
  7. 检查并选择所有的 Pods 库,然后关闭。
  8. 然后,对于所有库,选择它们(滚动列表),手动构建所选体系结构。

每次更改体系结构(模拟器、设备或归档(通用 iOS 设备))时,您都必须执行上述步骤:即通过在滚动列表中逐个选择它们来手动构建每个库,然后才能构建和运行您的主项目。

看起来有点奇怪,但这是我解决此问题的唯一方法......


1
我认为这应该成为被接受的答案。谢谢! - Berker Soyluoglu
步骤7和8解决了我的问题。构建缺失的Pod库。谢谢。 - Kaptain
我看不到“Pods”项目,但这是因为我打开了xcodeproj文件而不是xcodeworkspace文件。否则,问题已解决,谢谢。 - Richard

18

我曾多次遇到PODS库的问题。

下面是你可以尝试的解决方法:

  1. 运行 pod cache clean --allpod install 命令。

  2. 检查你的头文件搜索路径和库文件搜索路径,删除所有的条目并将$(PROJECT_DIR)设置为递归模式,$(inherited)设置为第二个条目。

  3. 进入你的目标 Build Settings -> Other linker flags -> 双击添加。在新的一行中添加$(inherited)。


13
请确保在 Pods 项目设置中,Build Active Architecture Only 设为 NO

当你进行发布时,应该是“是”对吗? - user805981
发布配置应该是NO,这样你的应用程序将在所有架构上构建,从技术上讲,那些可以安装在多种类型设备上的配置需要是NO,例如当你的团队有iPad和iPhone时,可以为他们创建Ad Hoc版本,而且App Store版本也必须是NO。其他配置,如调试,可以是YES,这也会提高构建时间。 - Juan de la Torre

12

我正在考虑两种可能性:

1)安装cocoapods-deintegrate项目:

$ gem install cocoapods-deintegrate

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

2)你可以尝试打开你的Pods工程,并为所需的目标创建一个新的scheme,在此情况下是AFNetworking

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

希望这可以帮助到您。


这个救了我。在我升级Cocoapods到1.0.1之后,我遇到了非常非常困难的Cocoapods问题。 - Yi Jiang
不起作用。这会导致另一个令人烦恼的问题:gem(s) (Gem::MissingSpecError) - Nguyen Minh Binh

3

我在项目->目标->构建阶段->链接二进制文件中有一个“额外”的框架,它是从最近的项目中保留下来的。删除它后,一切都顺利进行。


3

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


2

当我从github下载一些代码时,遇到了这个错误。我尝试构建.xcodeproj文件,但失败了,提示找不到库文件。然后我打开了.xcworkspace文件,并首先通过点击Product-> Build for -> Running来构建该文件。工作区文件没有出现任何错误地构建完成。然后,在工作区文件中,我将方案更改为我尝试构建的xcode项目,并单击Product-> Run。应用程序被构建并运行,没有出现错误。


2

我在使用fastlane处理ReactNative项目时遇到了问题。我添加了一个依赖,需要使用cocoapods。

我的Fastfile文件如下:

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

我需要将它更改为这样的工作区:

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

1

对我来说,所有这些东西都没有帮助。只需要在“构建设置”项目中删除即可。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接