乐趣区

关于ios: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/Charts-Swift.h> 在 Charts 后加一个 -Swift.h 即可

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

退出移动版