swift3-没有使用Xcode 8创建Objective-C桥接头

我试图将Objective-C库添加到我的Swift 3项目(Xcode 8 IDE)中。 但是目标c接口标头不会自动生成。 我尝试手动添加桥接头,但显示链接错误,提示未找到桥接头.h。 任何帮助,将不胜感激 :)

Augustine P A asked 2020-07-25T17:26:40Z
4个解决方案
149 votes

这里是问题的解决方案。

  • 创建一个新的头文件,并将其命名为“您的项目名称-Bridging-Header.h”。 文件必须保存到您的项目文件夹
  • 选择您的xcode项目->选择构建目标->选择构建设置->单击顶部的“全部”选项->搜索Swift编译器-常规
  • 选择“ Objective-C桥接标题”项,然后双击其“值”字段(同一行的右侧)。 将会出现一个弹出窗口,您可以在其中输入桥接头文件路径(按照以下步骤提供头文件路径)。
  • 打开finder并将桥接头文件拖放到弹出窗口。 现在,它将创建桥接头的绝对路径。 要创建相关路径,您可以将路径指定为$(PROJECT_DIR)/ $(PROJECT_NAME)/ $(PROJECT_NAME)-Bridging-Header.h

  • 在外部单击以保存该值。 做完了! 现在,您可以将Objective-C库(例如,#import“ SVProgressHUD.h”)导入到桥接文件,并在swift项目中开始使用它。

希望这对某人有帮助。 :)

Augustine P A answered 2020-07-25T17:27:22Z
10 votes

Objective C标头文件创建步骤

  1. 文件->新建->文件->头文件

  2. 像这样命名您的标头文件yourAppName-Bridging-Header

  3. 现在单击您的项目->构建设置

  4. 从基本更改为全部

  5. 搜索桥接

  6. 您将获得搜索结果,如下图所示

enter image description here

添加后

enter image description here

  1. 在该对象中,双击“ Objective-C桥接标题”的右侧,然后输入以下内容

    例如,yourAppName / yourAppName-Bridging-Header.h

  2. 您需要导入如下

enter image description here

  1. 就这样

快乐编码:)

注意:
头文件应直接位于项目内部,即。 不应在任何子文件夹中创建它

Ariven Nadar answered 2020-07-25T17:28:43Z
1 votes

如果有多个目标,请确保swift类是该目标的成员,否则将不会生成文件。
Xcode 8.3

Klajd Deda answered 2020-07-25T17:29:07Z
1 votes

似乎简单地创建一个新的Objective-C文件并让Xcode处理设置所有事情的所有细节都是最容易的。 完成后,您可以删除Objective-C文件。

  1. 右键单击项目浏览器,然后选择新文件
  2. 选定的Objective-C文件
  3. 将其命名为delete_me.m或其他名称
  4. 系统会提示您创建一个桥接文件,然后说是
  5. 删除您创建的文件(也许delete_me.m
Mr Rogers answered 2020-07-25T17:29:49Z
translate from https://stackoverflow.com:/questions/39614899/objective-c-bridging-header-not-getting-created-with-xcode-8