Obj C 桥接头似乎无关紧要?

Posted

技术标签:

【中文标题】Obj C 桥接头似乎无关紧要?【英文标题】:Obj C bridging header does not seem to matter? 【发布时间】:2015-06-25 12:02:35 【问题描述】:

我在 Xcode 中有一个 Swift / Parse iPhone 项目。我已经添加了 Parse 框架,只要我在我的 swift 文件中 import Boltsimport Parse 就可以使用所有解析函数。我现在想知道,为什么我需要 Obj C 桥接头?目前它里面什么都没有,但是它到处都说你需要正确设置你的桥接头以便 Parse 在 Swift 项目中工作?

【问题讨论】:

这完全取决于您的项目是如何设置的。仅当您 在同一个项目中 有需要相互查看的 Objective-C 和 Swift 代码时,才需要桥接头。如果这些东西在其他项目中,它的工作方式会有所不同。 @nhgrif:嗯,整个解析框架都在 Obj-C 中,所以技术上需要桥接头,那么没有它如何工作? 是否在同一个目标中? 是的,我只有一个目标,所有的swift文件和框架都在里面。 【参考方案1】:

不同之处在于您的部署目标。 ios8 可以使用嵌入式框架,只需简单的导入框架即可 import FrameworkName。如果您使用 CocoaPods,您可以将 use_frameworks! 指令添加到您的 podfile 中,然后您可以将所有 pod 用作没有桥接头的框架。

如果你想提供对 iOS7 的支持,你仍然必须使用桥接头,因为这个版本的 iOS 不支持嵌入式框架。

【讨论】:

以上是关于Obj C 桥接头似乎无关紧要?的主要内容,如果未能解决你的问题,请参考以下文章

尽管桥接头工作正常,但无法在 Swift 中实例化 Obj C 类

桥接头有效,但进口不起作用?

Obj-C 的 Swift 桥接头

Obj-C 的 Swift 桥接头

Xcode中如何快速创建一个Objc与Swift桥接的头文件

如何为 Dev 版本和 Prod 版本添加桥接头?