iOS开发之静态库.a的制作教程

时间:2023-03-08 17:37:22
iOS开发之静态库.a的制作教程

第一种方法:直接新建一个工程。

1、新建项目-> 选择 “Cocoa Touch Static Library”

iOS开发之静态库.a的制作教程

2、添加库需要包含的源代码,将你工程里的代码添加到打静态库工程里:

iOS开发之静态库.a的制作教程

iOS开发之静态库.a的制作教程

3、配置一下工程:

iOS开发之静态库.a的制作教程

4、选择需要暴露出来的 .h 文件, .m 文件会自动编译到 .a 文件中:

iOS开发之静态库.a的制作教程

iOS开发之静态库.a的制作教程

需要暴漏出的文件类在这里设置:

iOS开发之静态库.a的制作教程

引入的网络框架设置:(有些会自动引入,有些需要手动引入,根据编译报错,可以检查。)

iOS开发之静态库.a的制作教程

5、编译前检查一下是debug模式还是release模式,选择release模式:

分debug和release模式:

Debug-iphoneos 文件夹里面的东西是用在真机上的

Debug-iphonesimulator 文件夹里面的东西是用在模拟器上的

如果 Scheme 是 Release 模式,生成的文件夹就以 Release 开头

iOS开发之静态库.a的制作教程

iOS开发之静态库.a的制作教程

6、选择真机设备,然后 Command+B 编译, libSPCustomerServerse.a 文件从红色变为黑色

(注意建议先选择真机,这样才会变色,如果先选择模拟器,那么编译通过了,但是不会由红变黑,实际上是已经编译了模拟器的,只是给人一种假象,好像没编译一样,还是红色的)

 iOS开发之静态库.a的制作教程

7、选择模拟器,建议选择iPhone6以上的(选择高级点的,低级的也可用,若选了低级的,高级的有可能就不适配了)然后依然 Command+B 编译,模拟器和真机环境下用的 .a 文件是分开的。

iOS开发之静态库.a的制作教程

8、合并模拟器(release-iphonesimulator)和真机(release-iphoneos)下的.a,以便支持真机和模拟器,合并后的.a大小大约是不合并的2倍左右。

show in finder

iOS开发之静态库.a的制作教程

合并步骤:

举例:1、新建文件夹:"dabao";

2、将上述的release-iphonesimulator和release-iphoneos两个文件拷贝进"dabao"文件夹。

iOS开发之静态库.a的制作教程

3、打开终端,执行以下操作:

一、在终端输入:lipo  -create

二、将release-iphonesimulator下的.a拖进终端,输入一个空格;

三、继续将release-iphoneos 下.a 拖进终端,输入空格;

四、继续输入:-output ,打个空格;

五、输入合并后的.a所要放的文件路径(这里举例依然放在“dabao”这个文件夹下,则我的电脑的路径为:/Users/ntalker-zhou/Desktop/dabao/libSPCustomerServerseSDK.a),回车,在相应的文件下即可生成一个.a,该.a即是合并后的.a

iOS开发之静态库.a的制作教程

4、检查合并后的.a是不是满足所有要求,依然在终端进行以下操作:

一、在终端输入:lipo  -info   ;

二、将合并后的.a拖进终端 ,回车;

iOS开发之静态库.a的制作教程

(注意:终端每一步记得要用空格隔开,否则会出错哦!)

这样.a 就成功制作出了,只需要将暴漏的头文件以及制作的.a放入工程,别人就可以使用你的程序了,再也不用担心源码暴漏或别人随意修改你的代码了,不过如果有图片资源,图片资源是不能打进.a的,需要在外面添加的哦。

(有时候为了编译通过,根据需要,需要设置一下工程配置比如我需要配置xml等…

第二种方法:在原有工程上操作,打开已存在的工程,然后添加一个要做成.a静态库的 Target 在此,简单命名为mylibrary

iOS开发之静态库.a的制作教程

iOS开发之静态库.a的制作教程

iOS开发之静态库.a的制作教程

此处可以看到,新建的Target 里面同时具有 mylibrary.h mylibrary.m 这个咩有用,可以直接删除。

然后就是怎么弄自己的静态库了,你有一些.h  .m 文件需要打成静态库,先把你需要打成静态库的东西复制一份,放好,然后把你工程里的那一份.h .m 删除,然后把你刚才复制的那一份拖进工程,选择Targets 里面的工程名和静态库名称。即两个对号都打上。然后添加上。下图是创建新的.h .m的操作,等同于直接add操作。

iOS开发之静态库.a的制作教程

然后选择 静态库

iOS开发之静态库.a的制作教程

同时 Edit Sheme

iOS开发之静态库.a的制作教程

然后  Run 就可以看到 原来的红色的显示,变成了正常的

iOS开发之静态库.a的制作教程