一、最近项目需要(做SDK)所以研究了一下静态库的制作以及图片的导入。
二、下面主要以截图的方式说明打包静态库的过程。
1、.a 的静态库步骤如下:
1)首先新建工程选中 Cocoa Touch Static Library 然后点击Next按钮。
a.1.png
2)然后起名MJCASDK,注意:这时候会帮我们自动创建和工程名字一样的类文件(包含.h 和 .m),此时Products文件下的libMJCASDK.a文件是红色的。
a.2.png
3)相关配置。公开公共接口文件和相关方法,如下图点击New H eaders Phase:
a.3.png
接着直接把需要暴露出来的.h文件拖到Public列表下:
image.png
4)以上算是初步配置完善,注意,如果静态库中引入了类别(Category)的话,此时打成静态库是没有问题的,但是在用这个静态库的工程中,调用Category中的方法时会有找不到该方法的运行时错误(selector not recognized),解决办法是:在使用静态库的工程中配置other linker flags的值为-ObjC。
5)配置完成之后分别在模拟器和非模拟器上编译一下,这时候Products下的libMJCASDK.a文件就变黑色了,然后点击show in finder 查看如下图。
image.png
6)最后将模拟器和真机上的.a文件合并成一个文件即可。命令如下:
lipo -create 真机版本.a静态库路径 模拟器版本.a静态库路径 -output 合并后的.a静态库路径
注意中间有空格;