如何在swift中使用.a静态库?
我想在swift中使用我的webrtc .a静态库。 你能帮忙吗? 我读了你不能在迅速使用静态库,这是真的吗?
你有没有解决你问的这个问题? 我今天也遇到这个问题,我修好了一会儿。 如果你没有解决这个问题,你可以尝试下面的步骤:
ps:这两个项目在同一个工作区(静态lib项目和App项目)中,静态lib项目是在应用程序项目之前构build的。 工作区结构如图所示:
- 在静态lib项目中,所有的.h文件都需要添加到“Build Phases / Copy Files”中:
- 将静态lib产品文件(.a文件)拖到应用程序项目中,请参阅图:
(path:“应用程序项目/构build阶段/链接二进制库”)
*如果您关心.a文件的红色标记,则只需select“通用iOS设备”作为构build设备来重新构build静态lib项目,然后将.a重新拖到应用程序项目(红色的可以删除)
- 在你的应用程序项目中设置“库searchpath”:
这是项目内置的.a文件path:$(USER_LIBRARY_DIR)/ Developer / Xcode / DerivedData / StockApp -fkjqyvsniiauxogkivalcduqeotj / Build / Products / Debug-iphoneos
- 为你的应用项目创buildBridging-Header文件,并在其中导入静态库,在我的情况下,我包括“StaticLib / StaticLib.h”和“CommonFoundation / CommonFoundation.h”:
- 将Bridging-Header文件path添加到您的应用程序项目的“Objective-C桥接头”中:
然后全部完成,现在可以使用静态库的function。
是的,你可以在Swift中使用静态库。 转到您的构build阶段,并在“与库链接二进制”下添加它们。
或者,您可以在“生成设置”下进行操作,并在“searchpath”中附加“库searchpath”值,以包含您的.a文件所在文件夹的path。
您可以在“标题searchpath”下以相同的方式为您的库添加标题
另外请记住,如果这个库是用Objective-C编写的,那么你需要一个桥接头来在Swift中使用它。