如何在Swift项目中使用cocoaPods导入第三方OC库

2016-03-18 11:43

首先保证你的项目是基于cocoaPods的,并且是通过XX.xcworkspace打开的。cocoaPods安装教程(Xcode6以上)

下面就第三方库MBProgressHUD来讲解如何在Swift项目中使用cocoaPods导入第三方,并使用第三方类库。(前提是你的cocoaPods已经配置好,并且已经导入MBProgressHUD)

步骤一:创建头文件(该头文件是连接oc到swift的桥梁)

在project navigator中右击项目,选择New File... -> iOS -> Source -> Header File,给文件命名后(头文件命名任意,假设为Bridging-Header.h)保存。

如何在Swift项目中使用cocoaPods导入第三方OC库0
创建头文件(该头文件是连接oc到swift的桥梁)
如何在Swift项目中使用cocoaPods导入第三方OC库1
创建头文件(该头文件是连接oc到swift的桥梁)

步骤二:打开该文件,清空里面的内容,然后导入你想要的类库并保存。

#import "MBProgressHUD.h"

如何在Swift项目中使用cocoaPods导入第三方OC库2
打开该文件,清空里面的内容,然后导入你想要的类库并保存。

步骤三:

进入到Build Settings,在搜索框中输入bridg,找到Objective-C Bridging Header,选项,把头文件的路径赋值给该选项。如图所示:

如何在Swift项目中使用cocoaPods导入第三方OC库3

步骤四:

使用引用的代码,比如在viewDidLoad方法里添加显示进度框:

如何在Swift项目中使用cocoaPods导入第三方OC库4
使用引用的代码

运行效果如下:

如何在Swift项目中使用cocoaPods导入第三方OC库5
运行效果

需要注意的是,假如不是通过cocoapods引入的类库,而是直接拷贝到项目中(Build Settings的Objective-C Bridging Header没有赋值过,Xcode会弹出如下对话框:

选择Yes后,项目的根目录下会自动创建一个名字为XXX-Bridging-Header.h的头文件(XXX为你的模块名(module name)一般就是你的product name),

另外在Build Settings的Objective-C Header File的值也被自动设成头文件的路径。

如图所示:

如何在Swift项目中使用cocoaPods导入第三方OC库6

只要在自动生成的头文件里import你想要的第三方类库后,就可以随意在你的项目源文件里使用它了。

[reference Using Swift with Cocoa and Objective-C ]