鉴于现在大部分 iOS 常用库都还是用 OC 实现的,我们常常需要用到一个叫做 Bridging-Header.h 的东西来在 Swift 项目中使用 OC 实现的框架,当然前提是在这个项目里我们不能或者不想使用 Cocoapods 或 Carthage。
在 iOS 8 之后,我们可以使用 framework 了,相比于麻烦地操作一遍一下步骤:
- 创建一个 Bridging-Header.h 文件
- 在 target(还要注意不能是 project)的 Build Settings 找到 Objective-C Bridging Header 项
- 然后在里面填上路径,还要注意一下 绝对/相对 路径
我更愿意直接把 xxx.framework 放到项目里,然后使用的时候在顶部写上 import XXX。如果这个框架是 AFNetworking 的话,我们可以在它的 releases 页面下载到 AFNetworking.framework.zip。

但更多像 SVProgressHUD 这样的框架,你只能找到源码,并没有现成的 framework 文件给你用。

利用 Carthage 打包 framework

好在它支持了 Carthage。创建了一个文件夹,里面初始只有一个 cartfile

cartfile 里面随便写了俩常用框架

在终端执行
carthage update 之后
现在我们可以直接把打包好的 framework 文件复制到项目里使用了,以后想用什么框架都可以在这个 cartfile 里面添加,在这个文件夹里取用 framework。
说白了就是一个利用 Carthage 找 framework 文件的方法。
需要注意的是,如果你想通过自行编译源码,然后在 Products 文件夹里取用 framework,可能这个文件的架构会有问题。
掘金技术征文:juejin.cn/post/684490…