iOS生成静态库方法

在iOS的开发过程中,我们常常用到第三方的库。比如支付、地图、广告等。
那么,如何制作自己的库文件呢?
如何将自己写的功能类编译成库文件,分发给其他人来使用呢并做成通用库里?
iOS开发一年多来没有制作过,刚换了公司入职两天就叫打包自己的库给别的公司用,搞的我是无下手,特此笔记一下!
一)先讲讲编译静态库
编译静态库的好处也还是有的!
1.让自己的源码不被直接暴漏。
2.需要使用时,仅仅拷贝相应的.h文件和.a文件就好,不用在将源码一一拷贝。方便。
3.显得也比源码拷贝高端、大气一些。
 
哪就别bb了直接上开发步骤
1.新建静态库工程,选择Framework & Library  -->NEXT-->(命名为)MyFirstStaticLibrary
 
iOS生成静态库方法
iOS生成静态库方法
 

2.删除自动生成的MyFirstStaticLibrary.h和MyFirstStaticLibrary.m(因为是打包别人的类,不需要这两个文件,如果是自己制作就没必要删除了),在 自己需要打包下载工程,将XXXX.h和XXX.m拷贝到这个工程之中;

3注意,因为iOS模拟器是基于Mac OS平台X86架构,iOS设备都是给予ARM架构,所以给他们提供的静态库也必须对于他们的架构,幸运的是Xcode可以同时编译这两个架构的库;

编译的时候调到iOS Device ,  Product  --> Build;  如果调到其他则不能编译出来静态库

我这是制作自己的库久不删除了

iOS生成静态库方法

iOS生成静态库方法

选择如下模式变色

iOS生成静态库方法

编译成功后就会出来

iOS生成静态库方法

选择.a文件Show in Finder出来如下

iOS生成静态库方法

这就是Debug下的真机调试静态库我们可以通过终端看下他的信息

打开终端进入他的目录:输入cd 空格吧.a文件网里图删掉libMyFirstStaticLibray.a(你自己的库名)如下图

iOS生成静态库方法

然后输入ls  lipo -info ibMyFirstStaticLibray.a

iOS生成静态库方法

调整运行设备为模拟器如下图:

iOS生成静态库方法

运行编译后多出了模拟器的的包(模拟器下运行)

iOS生成静态库方法

我们看下他的信息 在终端输入cd Users/ilink/Library/Developer/Xcode/DerivedData/MyFirstStaticLibrary-ezlqqdeuksbkiseqmiefxzbefdah/Build/Products/Debug-iphonesimulator
(Debug-iphonesimulator文件往终端拖就能得到)输入lipo -info libMyFirstStaticLibrary.a

iOS生成静态库方法

我们一般都要想模拟器和真机都能用也就是说要并包

并包通过终端来做cd ..回到上级目录然后ls

iOS生成静态库方法

再输入lipo -create Debug-iphonesimulator/libMyFirstStaticLibrary.a Debug-iphoneos/libMyFirstStaticLibrary.a -output libMyFirstStaticLibrary.a进行并包

iOS生成静态库方法

然后可以看到

iOS生成静态库方法

和debug-iphone同级的目录出来.a文件改文件就是目标文件

我们在终端下看下他的信息lipo -info libMyFirstStaticLibrary.a

iOS生成静态库方法

可以看出他上两者的结合方法好虽好,但会牺牲空间,文件会变大

下面测试一下可以用不新建工程倒入.a和include文件

iOS生成静态库方法

使用一下

iOS生成静态库方法

控制台打印如下

iOS生成静态库方法

到此完成

 
上一篇:访问MySQL数据库时,报“找不到请求的 .net Framework 数据提供程序。可能没有安装。”的解决方案


下一篇:Servlet 浅析