我目前在Swift编码,我有一个错误:

没有这样的模块

但我不明白,因为这个模块在我的项目中,在“链接框架和库”和“嵌入式二进制文件”中声明。

框架是在Objective-C中,所以我为它写了一个桥标头。

请问,如何让Xcode识别框架?


当前回答

对我来说,答案是去目标,首先检查目标名称和项目名称是否匹配,如果匹配,然后去通用->框架,手动添加它们。当我这样做时,我干净地构建了应用程序,一切都运行正常。不幸的是,之前的答案都没有解决我的问题,所以也许这也能帮助你。

其他回答

我得到了相同的错误

import Firebase

但随后注意到,我没有将pod添加到主目标部分,而只是在Podfile中添加到Test和TestUI目标。

用命令

pod init

对于xcode swift项目,会生成以下Podfile

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

target 'MyApp' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for MyApp

  target 'MyAppTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'MyAppUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

因此,需要确保将pod添加到任何适当的占位符。

当框架没有正确编译时也会发生这种情况。

在Xcode中打开框架项目,看看Product→Build是否成功。

一旦在框架中修复了构建错误,打开主项目,看看是否可以导入框架。

当“查找隐式依赖项”选项未选中时,可能会发生此错误。转到编辑方案->构建。

然后勾选这个选项。

此错误也可能由框架缺少模块映射引起。如果您试图导入的框架是您自己的框架,请检查框架本身的编译器警告。在我的情况下,我的框架正在构建和到位,但有一个构建警告:

警告:没有为目标'MyFramework'找到伞头,模块映射将不会生成

通过解决这个警告(与框架头不匹配模块名有关),我能够导入框架。

请将此截图与您的构建设置进行比较。 这可能会奏效。 进入框架搜索路径: