第三方静态库制作

       在iOS的开发过程中,我们常常用到第三方的库。像QQ、百度地图、广告等。下面将详细介绍如何生成静态库。


一、静态库的优点:

1.让自己的源码不被直接暴漏。

2.需要使用时,仅仅拷贝相应的.h文件和.a文件就好,不用在将源码一一拷贝。方便。

3.显得也比源码拷贝高端、大气一些。


二、建立静态库项目


图片

生成如下的项目,即可在.h和.m文件编写相关代码。
 

图片


三、生成静态库

生成第三方静态库时,也有两种模式可选,Debug和Release模式,默认是Debug模式,为了考虑上架苹果AppStore,这里我们修改为Release模式,修改方法如下所示:

图片图片


        设置完毕后,修改运行设备,分别在测试机和真机运行一次。会生成.a文件,.a文件在项目的缓存中,目录如下。

图片

图片

此时,则生成了可以在真机和测试机上运行的第三方库。


四、合并静态库


        将生成的第三方库,引入当前项目时,发现真机的第三方库只能在第三方库运行,测试机的第三方库只能在测试机上运行,为便于开发,需要合成能在所有平台上运行的第三方库。
        打开终端运行下列操作:

// 进入文件夹

yangjundeMini:Products yangjun$ cd /Users/yangjun/Desktop/Products/


// 查看
编译的可执行的CPU环境

yangjundeMini:Products yangjun$ lipo -info Release-iphoneos/libYJURLSessionTask.a 

Architectures in the fat file: Release-iphoneos/libYJURLSessionTask.a are: armv7 arm64 

yangjundeMini:Products yangjun$ lipo -info Release-iphonesimulator/libYJURLSessionTask.a 

Architectures in the fat file: Release-iphonesimulator/libYJURLSessionTask.a are: i386 x86_64 


// 合并 

yangjundeMini:Products yangjun$ lipo -create Release-iphoneos/libYJURLSessionTask.a Release-iphonesimulator/libYJURLSessionTask.a -output libYJURLSessionTask.a


// 查看合并后的静态库支持的CPU环境 

yangjundeMini:Products yangjun$ lipo -info libYJURLSessionTask.a 

Architectures in the fat file: libYJURLSessionTask.a are: armv7 i386 x86_64 arm64 



        这样,就可以合并一个通用版本的静态库。唯一不爽的,就是体积要大一些。

        通用版本大小>=模拟器版本大小+真机版本大小。

        并且新生成的静态库支持
armv7、i386、x86_64和arm64至于为什么不用支持armv7s,因为:支持armv7s运行的设备只有iPhone 5(你懂的)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值