OC如何编译swift pod库

关于OC引入Swift pod库遇到的问题
简书地址:www.jianshu.com/p/0330e04fd… 由于公司要实现线状图, 我最终选择了Charts这个第三方控件, 然而这个库只有swift版本. 我平时开发就用OC, 那只能混编, 在此记录下混编时遇到的问题 首先修改Podfile, 增加pod 'Charts' 然后pod install 这样做还不行, 需要在Podfile中加入 use_frameworks!, 这个很重要 然后pod install 也就是最终结果是

platform :ios, '10.0'
use_frameworks!
target 'HDMI' do
    pod 'AFNetworking'     
    pod 'MBProgressHUD', '~> 1.0.0'
    pod 'UMengAnalytics'
    pod 'SAMKeychain'
    pod 'FMDB', '~> 2.6.2'
    pod 'MJExtension', '~> 3.0.13'
    pod 'BearSkill'
    pod 'Masonry'
    pod 'IQKeyboardManager'

    pod 'Charts'
end

复制代码
然而这样做还不行, OC与swift兼容还需要桥接文件 项目工程名-Bridging-Header.h 怎么产生这个文件呢, 不要自己去生成这个文件 最好是通过File->New->File->Swift File创建swift文件 这样做的话, 项目就会自动生成 项目工程名-Bridging-Header.h文件 并且在build setting中会多出

015A8C7C-1A70-43BA-8F6B-198EB8739728.png
为什么不要自己去生成这个文件呢? 原因在于自己生成的这个文件, xcode无法自动将生成$(SWIFT_MODULE_NAME)-Swift.h, 也就是图中的Objective-C Generated Interface Header Name这个选项 有了这个选项, 那么接下来在使用pod库中的swift文件都可以直接import 比如Charts #import 在Charts后加一个-Swift.h即可

参考链接:
https://juejin.cn/post/6844903985518739470

你可能感兴趣的