如何将静态库包含到Swift项目中?

时间:2016-03-22 13:25:06

标签: ios objective-c xcode swift static-libraries

我有一个快速的基础项目iPhone应用程序。我想在其中使用Zoiper SDK。 我从他们那里得到的是静态库(.a文件):

- libcrypto.a
- libsipwrapper.a
- libssl.a

可能在Objective-C中编写。

还有外部头文件

- wrapper_defs.h, 
- wrapper_cbk.h, 
- wrapper.h

用Objective-C编写。

我试图像这样添加桥接标题:

#ifndef ZoiperTest_Bridging_Header_h
#define ZoiperTest_Bridging_Header_h

#import "include/wrapper_defs.h"
#import "include/wrapper_cbk.h"
#import "include/wrapper.h"

#endif /* ZoiperTest_Bridging_Header_h */

但是返回了很多错误(wrapper.h中使用的类型无法识别)

我是否还必须将库.a文件包含在桥接头中? 那个准确的语法是什么?

我已经尝试将#import添加到网桥标题中但是这给了我找不到文件的错误。

2 个答案:

答案 0 :(得分:0)

我可以在一个快速项目上集成zoiper SDK。对我来说简单的方法是使用libs在Objetive-C上创建一个静态库,并将其集成到我的swift项目中。 - > https://github.com/depazsierra/zoiperExample

在静态库中,我重用了zoiper示例附带的ZSDKLibControl。

有任何问题,请告诉我。

答案 1 :(得分:0)

您可以做的是以下内容,它对我有用。从头开始创建静态库。添加.h(包装器),包括演示中的LibController。然后,一旦你完成,请按照以下链接:如何在swift中使用.a静态库?

我能够使用这些方法,但尚未完全测试。