码迷,mamicode.com
首页 > 编程语言 > 详细

如何在swift中使用cocoapods导入的第三方oc库

时间:2014-09-30 15:39:49      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:bridging-header   swift   cocoapods   objective-c bridging   

假如你来到这里,说明你已经开始着手使用swift这门新语言了。

就像Java有Maven一样,Objective-C也有自己的依赖管理工具cocoapods。

但是由于swift才出来不久,目前很多cocoapods管理的第三方库依然是由Objective-C编写的。

为了能够在swift中使用这些类库,需要在Xcode中进行一些配置。


假设你的项目是基于cocoapods的,并且是通过XX.xcworkspace打开的。(Xcode6以上)

为了进行演示,假设导入的第三方库是MBProgressHUD。下面讲解如何在swift中使用该类库。


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

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


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

#import "MBProgressHUD.h"

bubuko.com,布布扣

步骤三:

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

bubuko.com,布布扣


步骤三:

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

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        // 如同pch一样,使用该类库无需在顶部导入该类库的头文件
        MBProgressHUD .showHUDAddedTo(self.view, animated: true)
    }

运行效果如下:

bubuko.com,布布扣


--------------------

-----

-----

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

bubuko.com,布布扣


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

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

如图所示:

bubuko.com,布布扣


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


[reference Using Swift with Cocoa and Objective-C ]

如何在swift中使用cocoapods导入的第三方oc库

标签:bridging-header   swift   cocoapods   objective-c bridging   

原文地址:http://blog.csdn.net/tounaobun/article/details/39695219

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!