【问题标题】:can't regenerate bridge header for using swift in objective C无法重新生成桥头以在目标 C 中使用 swift
【发布时间】:2017-08-08 11:01:17
【问题描述】:

我更新了一个 Swift 库(更新 .swift 文件并将新的 .swift 文件添加到我的项目中),但在此过程中找不到旧的桥头文件和 Xcode 8.3.3。不提示创建一个新的。

本文显示带有“创建桥接头”按钮的窗口:http://pinkstone.co.uk/how-to-use-swift-classes-in-objective-c/

有什么想法吗?

添加新文件后找不到我的#import "app-Swift.h"。我也不能右键单击并转到定义。

【问题讨论】:

  • 你应该只移动 .h 和 .m 文件而不是组或文件夹
  • 你的意思是.swift?添加或覆盖的文件是 .swift。您是说删除和重新添加带有 .swift 文件的文件夹有问题吗?
  • 是的,您应该只添加 swift 文件,然后将这些文件移动到一个组中
  • 为什么?我想我所做的只是添加/覆盖一些现有的 .swift 并添加新的 .swift 而不触及文件夹。我要仔细检查
  • 您的建议并没有什么不同。还有,为什么会这样?

标签: objective-c swift xcode bridging-header


【解决方案1】:

您可以手动创建Bridging Header

  1. 添加新的头文件。将其命名为 ProjectName-Bridging-Header.h
  2. 选择Project -> Target -> Build Setting
  3. 在搜索框中搜索"bridging header"
  4. 双击Objective-C Bridging Header值部分
  5. 拖放您手动创建的ProjectName-Bridging-Header 文件
  6. 构建您的项目

Click to show a video tutorial

【讨论】:

  • 我没有将 Obj-C 导入到 swift 我正在将 Swift 导入到 Obj-C。我想要带有所有方法签名的自动生成的标头。正如苹果文档中所说的“当你将 Swift 代码导入到 Objective-C 中时,你依赖于 Xcode 生成的头文件将这些文件公开给 Objective-C。这个自动生成的文件是一个 Objective-C 头文件,它声明了目标中的 Swift 接口。可以将其视为 Swift 代码的总括标头。"
猜你喜欢
  • 2016-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多