在swift代码中加载静态库

时间:2017-01-28 17:58:51

标签: c++ ios swift xcode

我有一个用c ++编写的静态库(.a文件),用xcode编译。 在C ++代码中我有:

extern "C" void startA(const char * szCmdLne){
 //bla bla
}

extern "C" void stopA(){
  //bla bla
} 

现在我正在用swift 2(在xcode中)编写iOS SDK。我想将库加载到SDK中并调用这两个函数(startA和stopA)。

这样做的正确方法是什么?我试过过桥,但它不起作用。

谢谢!

1 个答案:

答案 0 :(得分:0)

按照以下步骤操作:

1)在构建阶段链接xcode中的静态库 - >将Binary链接到库。

2)在swift项目中添加库头文件。

3)需要使用(File> New> File)创建一个桥接头来调用库Api,然后选择“Source”并单击“Header File”。

4)添加     void stopA()     startA(const char * szCmdLne) 在桥接头文件中。

现在,您应该可以从swift代码中调用这些API。 检查这个更多细节: http://www.swiftprogrammer.info/swift_call_cpp.html#step2