iOS 生成.a静态库文件文档

2017-07-15  本文已影响20人  moreFine

和上两篇文档一样,这篇文档也是去年在前公司写的,现在贴出来,希望对有需求的同学有所帮助。PS*此文档截图均来自Xcode7.3.1

一.a工程新建

打开XCode新建工程选择Framework&Library -> Cocoa Touch Static Library点击next输入工程名,机构名,选择语言点击next生成新的工程。

二.a工程配置

1.设置支持的iOS最低版本

2.配置支持的的真机架构

为了使编译的.a文件适配所有机型,首选将设置用只支持当前架构的选项(Buil Active Architectrue Only)的值设为No。

项目真机编译时默认支持arm64(iphone5s及以上手机使用),armv7(iphone4s及以下手机使用)架构,所以为了适配所有机型需要加上iphone5和iphone5c的armv7s架构,故如上图所示:点击Architecture选择other点击“+”添加arm64,armv7,armv7s。

3.配置编译文件以及关联库

4.项目代码

代码的书写以及导入库的方式和APP工程一样。

三.a静态库生成

1.由于供人使用的静态库都处在release模式下所以在生成.a文件时要将工程至于release模式下;

如上图点击工程选择Edit Scheme如下图

将Build Configuration的值设置为release。

2.先设置编译支持设备为Generic iOS Device,再按command+b生成适配真机的.a文件

3.设置编译支持设备为某一款模拟器,再按command+b生成适配模拟器的.a文件;

4.上诉两步之后可在便生成了release模式下真机和模拟器的两套.a文件,下一步就是讲两个.a文件融合生成一个适配模拟器和真机的静态库,具体如下:

a.打开命令行工具cd到Products(存储两个.a文件的文件夹)文件路径下

b.在工具中输入:lipo –create模拟器.a路径真机.a路径–output新的静态库.a然后回车即可生成新的静态库,如下图


然后将此.a文件和头文件文件夹(例如上图中的socialSDK)项目中并添加相关依赖库即可使用。

->>>>以下是在APP项目中使用.a需要做的

c.依赖库添加,这里以静态库中封装了,QQ,wechat,sina,99click,AFNetworking,以及RSA,MD5相关库和代码为例。

1>首先添加如下系统依赖库;

2>添加QQ,wechat,sina等的第三方SDK添加到项目中;

3>将工程Build Setting下Linking中Other Linker Flags的值设成–all_loady以及-fobjc-arc;将Build Option下的EnableBitcode设置成No。

通过以上设置后项目即可正常编译。

ps*swift由于还不稳定故不要有使用他做SDK的想法,老老实实用OC。

上一篇下一篇

猜你喜欢

热点阅读