【问题标题】:If using Cocoapods and use_frameworks!, should I use Obj-C Bridging Header?如果使用 Cocoapods 和 use_frameworks!,我应该使用 Obj-C 桥接头吗?
【发布时间】:2016-05-03 15:41:12
【问题描述】:

This link 说不。

但该示例仅处理 Swift 类。在我使用use_frameworks! 的项目中,我有一个使用objective-c class 的swift 类。这两个类都在我的本地开发 pod 的同一个目录中。没有桥接头,swift 类如何使用objective-c 类?

澄清: 问题不在于 Swift 是否可以导入框架。我知道可以。问题是双重的:

  • 如果我使用use_frameworks!,是否应该使用桥接头?或者,使用桥接头是否会导致意想不到的问题,如我在上面链接的帖子中所指出的那样?
  • 如果我不能使用桥接头,那么我需要从 swift 类中导入一个objective-c (不是框架),并且这两个类都在同一个框架中。我不知道没有桥接头怎么可能做到这一点。

【问题讨论】:

  • 反对票有什么解释吗?
  • 我有类似的设置,但我在 swift pod 中有一个 Objective-c 框架。它可以与桥接头一起使用吗?
  • 反对票(尽管不是我的)可能与此问题的 Primary Opinion Based 方面有关。您问的是 should 而不是 must,这是可以解释的。事实上,我的解释是您应该

标签: ios objective-c xcode swift cocoapods


【解决方案1】:

简短回答:

这与 use_frameworks! 无关,它与将您的 Obj-C pod 暴露给 Swift 有关。

查看示例:

【讨论】:

  • 谢谢。这些很棒,但是使用 Cocoapods 不应该要求我们直接修改 Xcode 项目中的属性。 Cocoapods 的主要用途之一是它可以处理链接和依赖关系,而无需我们直接修改 Xcode 设置。
  • 我猜pod install 可以在技术上添加缺少的桥接头,并为Obj-C 源代码插入#import,或者其他可以完全隐藏此步骤的方法。我很感激 Cocoapods 一开始就很好地适应了 Swift
猜你喜欢
  • 1970-01-01
  • 2016-07-26
  • 1970-01-01
  • 2016-09-13
  • 1970-01-01
  • 2017-05-03
  • 2016-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多