如何在swift中使用.a静态库?

我想在swift中使用我的webrtc .a静态库。 你能帮忙吗? 我读了你不能在迅速使用静态库,这是真的吗?

你有没有解决你问的这个问题? 我今天也遇到这个问题,我修好了一会儿。 如果你没有解决这个问题,你可以尝试下面的步骤:

ps:这两个项目在同一个工作区(静态lib项目和App项目)中,静态lib项目是在应用程序项目之前构build的。 工作区结构如图所示:

/用户/ raniys /桌面/屏幕截图2016年3月14日在5.27.20 PM.png

  1. 在静态lib项目中,所有的.h文件都需要添加到“Build Phases / Copy Files”中:

在这里输入图像说明

  1. 将静态lib产品文件(.a文件)拖到应用程序项目中,请参阅图:

(path:“应用程序项目/构build阶段/链接二进制库”)

在这里输入图像说明

*如果您关心.a文件的红色标记,则只需select“通用iOS设备”作为构build设备来重新构build静态lib项目,然后将.a重新拖到应用程序项目(红色的可以删除)

  1. 在你的应用程序项目中设置“库searchpath”:

在这里输入图像说明

这是项目内置的.a文件path:$(USER_LIBRARY_DIR)/ Developer / Xcode / DerivedData / StockApp -fkjqyvsniiauxogkivalcduqeotj / Build / Products / Debug-iphoneos

  1. 为你的应用项目创buildBridging-Header文件,并在其中导入静态库,在我的情况下,我包括“StaticLib / StaticLib.h”和“CommonFoundation / CommonFoundation.h”:

在这里输入图像说明

  1. 将Bridging-Header文件path添加到您的应用程序项目的“Objective-C桥接头”中:

在这里输入图像说明

然后全部完成,现在可以使用静态库的function。 在这里输入图像说明

是的,你可以在Swift中使用静态库。 转到您的构build阶段,并在“与库链接二进制”下添加它们。

在这里输入图像说明

或者,您可以在“生成设置”下进行操作,并在“searchpath”中附加“库searchpath”值,以包含您的.a文件所在文件夹的path。

在这里输入图像说明

您可以在“标题searchpath”下以相同的方式为您的库添加标题

另外请记住,如果这个库是用Objective-C编写的,那么你需要一个桥接头来在Swift中使用它。