Objective-C Bridging Header没有使用Xcode 8创建

问题描述 投票:40回答:4

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

swift3 xcode8 objc-bridging-header
4个回答
147
投票

这是问题的解决方案。

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

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


10
投票

Objective C头文件创建步骤

  1. 文件 - >新建 - >文件 - >标题文件
  2. 将您的Header文件命名为yourAppName-Bridging-Header
  3. 现在单击您的项目 - >构建设置
  4. 从基本更改为全部
  5. 搜索桥接
  6. 您将获得搜索结果,如下图所示

enter image description here

添加后

enter image description here

  1. 双击Objective-C Bridging Header的右侧,输入如下内容 例如,yourAppName / yourAppName-Bridging-Header.h
  2. 您需要导入如下

enter image description here

  1. 就这样

快乐编码:)

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


1
投票

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


1
投票

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

  1. 右键单击项目资源管理器并选择新文件
  2. 选定的Objective-C文件
  3. 将它命名为delete_me或其他什么
  4. 系统会提示您创建一个桥接文件并说“是”
  5. 删除你创建的文件(也许是delete_me.m
© www.soinside.com 2019 - 2024. All rights reserved.