我正在开发一个用Swift编写的iOS项目,我想从常规的“app”项目中取出一些类,然后将它捆绑到一个可重用的Swift框架中(也许可以在Github上公开发布)并通过Cocoapods)。
我遇到了问题,因为框架看起来似乎不能有Objective-C桥接头,但为了编译我的框架代码,我需要引用几个Objective-C类(在这种情况下:Google Maps iOS SDK) )。
我还在我的框架项目中添加了GoogleMaps.framework作为链接库,但是,如何从Swift代码中“导入”它呢?
使用当前工具和Swift版本是否可以实现,我该如何处理?
感谢。
答案 0 :(得分:10)
实际上并没有那么复杂......我只是做错了什么。
首先,在该设置中,桥接标题不:Google Maps iOS SDK是作为常规.framework文件提供的,因此开发语言对如何在Swift中导入它没有影响。 Apple在文档中明确提到它:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html,“导入外部框架”。
将框架添加到项目设置的“链接二进制文件库”部分就像这样简单。不要忘记添加依赖库和框架(在GoogleMaps.framework的情况下,有很多)。
然后,在Swift代码中,框架类应该只需执行:
import GoogleMaps
没有桥接标题,没有处理“非模块化标题等”错误。