swift导入oc第三方库

swift导入oc第三方库

前言

对于ios开发而言,目前很多第三方库或者demo还是以oc为主,swift相关的资料很少,这篇文章就结合博主的开发实例对在swift工程中导入并使用oc版本的第三方库进行阐述。

正文

1.编写oc桥接头文件

顾名思义,将oc编写的库桥接到swift工程里的头文件。
结合实战,首先我在项目工程的根目录下创建一个名为xxxx.h的.h文件,内容如下,暂时不去修改:

#ifndef xxxx_h
#define xxxx_h
#endif 

接着,在项目的targets里的Build Settings选项里,找到Objective-c Bridging Header选项:


Xnip2019-05-05_15-08-10.jpg

Xnip2019-05-05_15-09-36.jpg

将这一项设置为刚刚创建的.h文件,如“xxxx.h”

2.导入第三方库

做完第一步,准备工作就已经做好了,接下来也很简单。我在这里分两种情况进行阐述。
(1)framework形式导入的第三方库:
例如集成支付宝的sdk(https://docs.open.alipay.com/204/105295/),导入后项目里会存在AlipaySDK.framework文件。这个时候在swift中,你还是不能直接引用支付宝相关的类和方法的,这个时候,我们在刚刚创建的桥接文件里,加上:

#ifndef xxxx_h
#define xxxx_h
//导入支付宝的OC的头文件
#import 
#import 
#endif 

然后你会发现,在代码里,你就可以正常调用支付宝SDK中的类和方法了,就这么简单。
(2)直接拷贝的第三方库:
例如第三方客服平台Udesk的集成(http://www.udesk.cn/doc/ios/udesksdk_ios/),按其要求手动将第三方工程文件导入你的项目中后,你的项目会存在如下的文件夹:

Xnip2019-05-05_15-22-59.jpg

此时,仍然需要在桥接文件里将你所需要用到的类文件导入,如:

#ifndef xxxx_h
#define xxxx_h
//导入Udesk的OC的头文件
#import "UdeskSDK/SDK/UdeskAgent.h"
#import "UdeskSDK/SDK/UdeskCustomer.h"
#import "UdeskSDK/SDK/UdeskManager.h"
#import "UdeskSDK/SDK/UdeskMessage.h"
#import "UdeskSDK/SDK/UdeskOrganization.h"
#import "UdeskSDK/SDK/UdeskSetting.h"
#import "UdeskSDK/UDChatMessage/Udesk.h"
#endif 

然后,在项目targets的general选项中,找到“Linked Frameworks and Libraries”,将第三方库中的.a文件添加进去:


image

Xnip2019-05-05_15-28-56.jpg

点击add other...之后选择.a文件即可。接下来你就可以在swift中调用第三方库的类和方法了。

swift导入oc第三方库的方法就说到这,欢迎留言讨论~

你可能感兴趣的:(swift导入oc第三方库)