ios 打包静态库

首先 先介绍一下什么是库.所谓库就是程序代码的集合,是共享程序代码的一种方式。库的分类分为开源库和闭源库 至于什么意思 字面的意思相信你们也能看懂

静态库和动态库的存在形式和使用区别

存在形式:

静态库

以".a"或者“.framework”为文件后缀名

动态库

以".dylib"或者“.framework”为文件后缀名

这里先介绍一下以.a文件为后缀的吧

iOS 设备的CPU架构

模拟器:

4s-5: i386

5s-7 Plus: x86_64

.a文件静态库打包

1、打开Xcode创建一个新的工程,这里以Xcode9为例,选择工程如下:


箭头就是咯

2、创建工程完毕后,再创建一个工具类IOSState,添加一个方法用于测试


创建一个工具类,添加测试方法 ,并在.m文件中实现


3、运行工程进行打包

运行打包

运行完毕后,我们会看到工程中Products文件夹下的libStaticLib.a文件由红色变成了黑色。右键show in finder可以在其目录下找到它。这就是我们打包好的.a静态文件了。

4、公开接口头文件

targets->Build Phases->Copy Files->"+"你需要公开的头文件

这里我们把新建的测试类StaticLibTool.h公开


公开接口

将其导入到工程即可.

但是换模拟器后 则编译不通过


只需设置适配所有模拟器架构

project -> buildSeting -> Build Active Architecture Only 设为NO


设置适配所有模拟器架构

设置完成后,我们重新运行打包静态库文件(这时你可随便选一个模拟器),按照上述第6步终端查看其支持的架构,我们可以看到终端输出的结果是同时支持 i386和x86_64,这也就意味着同时支持所有模拟器。


打包支持真机架构的静态库

所有流程都跟上面的一样,只是我们运行打包时要选择真机运行,如下图你可以选择自己插上去的真机,也可以选择Generic ios Devices。当然不要忘记了设置支持所有真机机型架构: Build Active Architecture Only  设为NO。

所有的都搞完  

你可能感兴趣的:(ios 打包静态库)