ld: 在 pod install 后找不到框架

16
我将Firebase库添加到我的项目中后,出现了以下错误。在编译时,Xcode找不到一些目录,但它们位于Pods目录中。
以下是错误日志:
ld: warning: directory not found for option '-F/Users/Erumaru/Library/Developer/Xcode/DerivedData/ToDoTogether-gkzytezmbbgkikgoxjpptxgrixil/Build/Products/Debug-iphonesimulator/GTMSessionFetcher'
ld: warning: directory not found for option '-F/Users/Erumaru/Library/Developer/Xcode/DerivedData/ToDoTogether-gkzytezmbbgkikgoxjpptxgrixil/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac'
ld: framework not found GTMSessionFetcher
clang: error: linker command failed with exit code 1 (use -v to see invocation)

以下是我的 Podfile:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'ToDoTogether' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!
  platform :ios, '10.0'
    pod 'Firebase'
    pod 'Firebase/AdMob'  
    pod 'Firebase/Auth'
    pod 'Firebase/Crash'
    pod 'Firebase/Database'
    pod 'Firebase/Analytics'
    pod 'Firebase/Messaging'
    pod 'Firebase/RemoteConfig'
    pod 'Firebase/Storage'

  # Pods for ToDoTogether

end

你有什么问题?http://stackoverflow.com/help/how-to-ask - jacefarm
你需要展示一些努力或者详细说明你已经尝试过如何调试。这会有助于缩小问题范围并提出更具体的问题。目前,看起来你没有进行这些调试尝试或研究,只是想让别人为你完成工作。 - jacefarm
作为第一步,尝试将 Firebase pods 进行注释,并查看是否仍然会出现 GTMSessionFetcher 错误。错误是关于 GTMSessionFetcher 而不是 Firebase 的。也许从那里开始? - jacefarm
可能是与此链接的问题相同,解决方案也类似:https://dev59.com/A1kS5IYBdhLWcg3wHDLU - Paul Beusterien
2
请确保打开的是xcworkspace文件,而不是xcodeproj文件。 - Paul Beusterien
1
我们正在使用GAE端点和IOS API生成器将GTMSessionFetcher构建到生成的代码中......但是GTMSessionFetcher也存在于Firebase中,我们看到一个警告,该类在两个地方都被实现,并且未定义将使用哪个.....如果有人能从中获得帮助就好了。 - Dewey
6个回答

56

确保打开的是工作区文件而不是项目文件。我曾遇到相同的错误并意识到我使用的是项目文件而不是工作区。


5
我曾遇到同样的问题,尝试了多种方式但仍无法解决。以下是我尝试的方法:
  1. 使用XCworkspace文件
  2. 清理项目、重新启动XCode和Mac电脑
  3. 关闭位码(bitcode)
  4. 删除框架和库的搜索路径
最后,让我惊喜的是,删除Pod文件并重新创建Pod文件解决了问题!
顺便提一下:这是一个非常通用的错误,所以不同的情况可能需要不同的解决方案。

2

前往项目目标 > 构建设置:

查找搜索路径 > 框架搜索路径,删除所有被警告的路径;然后在库搜索路径中,删除所有被警告的路径。


2
对我来说,我必须更改/编辑模式并选择新的模式。
我已将我的“debug”模式重命名为“debug(development)”,这导致了我的问题。
修复方法:
1. 产品 > 编辑模式 > 更改构建配置。

Edit Schema

我所做的是创建备用的配置,并将当前的配置重命名。

enter image description here


0
我在这里解决了:
通过打开xcworkspace文件并将我的xcodeproj文件拖到左侧面板中,我能够解决此错误。在执行此操作后,我选择了项目容器文件夹,并能够正确构建我的项目。Pod安装没有正确完成,我需要手动执行此过程。

https://dev59.com/Trjna4cB1Zd3GeqP8E-G#75634834


-1
在我的情况下,我只需要进入编辑方案 > 运行 并重新选择“无”作为可执行文件

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