在iOS中使用静态库

来源:互联网 发布:win10端口重置失败 编辑:程序博客网 时间:2024/05/13 12:53

由于想了解下Xcode中静态库的导出导入,翻到这么一篇文档:Using Static Libraries in iOS.

小小尝试了下。

首先新建一个项目,选择Cocoa Touch Static Library:


创建成功后,产出就是.a静态文件了:


这时候可以创建或者添加现有代码,并且指定暴露的头文件:


最后就是编译,生成静态文件。


接着再新建一份项目用来引入刚才创建的静态库。

打开静态库所在目录:


把头文件和.a文件都拖到新建工程中:


这里有个注意点(参考此处):如果你是在模拟器上跑,就选择下面的iphonesimulator目录下的资源,如果不是就选择上面的,否则会出现错误:


选择正确的版本,然后设置链接选项、引入要使用的头文件,编译就可以通过了。


Select the Build Settings tab in your application target editor. Find the “Other Linker Flags” build setting. Add the flag -ObjC to this build setting’s value if it is not already present. This flag will tell the linker to link all Objective-C classes and categories from static libraries into your application, even if the linker can’t tell that they are used. This is needed because Objective-C is a dynamic language and the linker can’t always tell which classes and categories are used by your application code.