【问题标题】:CocoaPods 1.0.1 still requires bridging header with SwiftCocoaPods 1.0.1 仍然需要使用 Swift 的桥接头
【发布时间】:2016-12-25 21:23:06
【问题描述】:

在此示例项目中,注释掉BridgingHeader.h 中的#import 行,它将在AppDelegate.swift 中产生unresolved identifier 的错误

https://github.com/lacyrhoades/GLSlideshow/tree/stackoverflow

作为另一种方法,我理解的是“正确”方法,如果在 AppDelegate.swift 中添加 import GoogleCastRemoteDisplay,这并不能修复错误,但会产生一个新的说法 no such module GoogleCastRemoteDisplay

这是库的 podspec 的问题吗?我想制作自己的 Pod,但我很困惑:Pod 什么时候需要桥接头,什么时候不需要?

【问题讨论】:

  • 需要 Podfile 的内容。

标签: ios swift frameworks cocoapods chromecast


【解决方案1】:

使用基于 Obj-C 的 pod 时需要桥接头。如果您使用基于 swift 的 pod,则不需要桥接头。

添加它的一种简单方法是在基于 swift 的项目中创建一个新的基于 Obj-C 的类(随便命名。没关系)。当您这样做时,它会询问您是否要自动添加 BH。说是,然后删除你刚刚创建的类,离开 BH。在此处导入所有 Obj-C 标头。

希望对您有所帮助。

【讨论】:

  • 这就是我想知道的,因为某些基于 Obj-C 的 pod 似乎不需要桥接头。至少不是作为最新版本的最终用户。您只需在 Podfile 中说 pod "library",然后您就可以在 Swift 中使用 import Library
  • 每个基于 Obj-C 的 pod 都需要与桥接头一起导入。 1:将 pod 添加到 Podfile。 2:将框架添加到具有#import "AFNetworking/AFNetworking.h"格式的桥接头。 /之前的初始AFNetworking是框架所在的文件夹。所以整个东西是要导入的标头的路径。另外,不要使用<>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-30
相关资源
最近更新 更多