转载

用 Carthage 摆脱 Bridging-Header.h

鉴于现在大部分 iOS 常用库都还是用 OC 实现的,我们常常需要用到一个叫做 Bridging-Header.h 的东西来在 Swift 项目中使用 OC 实现的框架, 当然前提是在这个项目里我们不能或者不想使用 Cocoapods 或 Carthage

在 iOS 8 之后,我们可以使用 framework 了,相比于麻烦地操作一遍一下步骤:

  1. 创建一个 Bridging-Header.h 文件
  2. 在 target(还要注意不能是 project)的 Build Settings 找到 Objective-C Bridging Header 项
  3. 然后在里面填上路径,还要注意一下 绝对/相对 路径

我更愿意直接把 xxx.framework 放到项目里,然后使用的时候在顶部写上 import XXX 。如果这个框架是 AFNetworking 的话,我们可以在它的 releases 页面下载到 AFNetworking.framework.zip

用 Carthage 摆脱 Bridging-Header.h

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

用 Carthage 摆脱 Bridging-Header.h

利用 Carthage 打包 framework

用 Carthage 摆脱 Bridging-Header.h

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

用 Carthage 摆脱 Bridging-Header.h

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

用 Carthage 摆脱 Bridging-Header.h

在终端执行 carthage update 之后

用 Carthage 摆脱 Bridging-Header.h

现在我们可以直接把打包好的 framework 文件复制到项目里使用了,以后想用什么框架都可以在这个 cartfile 里面添加,在这个文件夹里取用 framework。

说白了就是一个利用 Carthage 找 framework 文件的方法。

需要注意的是,如果你想通过自行编译源码,然后在 Products 文件夹里取用 framework,可能这个文件的架构会有问题。

用 Carthage 摆脱 Bridging-Header.h 用 Carthage 摆脱 Bridging-Header.h 用 Carthage 摆脱 Bridging-Header.h

原文  http://kyxu.tech/2016/12/15/用-Carthage-摆脱-Bridging-Header-h/
正文到此结束
Loading...