如何在 Swift 项目中使用 OC 的第三方开源库

目前需求##

作为一名iOS开发者,开发app的时候常常需要使用github上的第三方库等,但由于历史原因,很多的优秀资源目前还都是用Objective-C编写的。本文的目的是帮助swift项目无缝享用OC的类库。

使用CocoaPods##

对CocoPods陌生的请点击这里。
例如,我们想使用MJRefresh
类库,在项目的Podfile中加入一行:pod 'MJRefresh'
然后执行 pod install
命令,等安装完成后,打开项目的 xcworkspace 文件。

通过The Bridging Header进行桥接##

苹果官方推荐通过header file文件来让Swift项目使用OC。

  • 在Project Navigator中右键点击你的项目名,然后选择"new file", 选择source选项中的Header File,然后定义一个名称。我在此处是 YSH-Bridging-Header.h 。(尽量采用官方推荐的命名方式,即 项目名-Briding-Header)

  • 生成之后文件中有默认的模板内容,我们要做的是在#endif上面导入OC库对应的.h文件(.h文件可以在Pods项目中的Pods文件夹下查看,这个.h文件中包含了该第三方库中的其他头文件)。

//
//  YSH-Bridging-Header.h
//  Swift Project 10-PULL TO REFRESH TABLE VIEW
//
//  Created by 杨上海 on 2017/4/12.
//  Copyright © 2017年 yangshanghai. All rights reserved.
//

#ifndef YSH_Bridging_Header_h
#define YSH_Bridging_Header_h

#import "MJRefresh.h"

#endif /* YSH_Bridging_Header_h */

Building Settings选项卡##

选中项目名,选择Building Settings 选项卡(注意选中左边的 All),直接搜索关键词 bridging,在 Objective-C Bridging Header 右边对应的方框中双击,复制之前的 YSH-Bridging-Header.h名称并粘贴,如图:

如何在 Swift 项目中使用 OC 的第三方开源库_第1张图片
Building Setting选项卡

不需要再在项目中导入头文件,直接在自己的swift项目里试试,看看是不是已经可以调用第三方OC库的函数了?

如果成功的话,恭喜你,可以继续享用Swift了。

参考链接
Apple's Documentation
Using Objective-C CocoaPods libraries with Swift

你可能感兴趣的:(如何在 Swift 项目中使用 OC 的第三方开源库)