iOS 静态库制作 .a .framework .bundle

一、最近项目需要(做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静态库路径

注意中间有空格;

你可能感兴趣的:(iOS 静态库制作 .a .framework .bundle)