创建静态库.a文件


IOS产生.a的静态库,比起.framework相对简单了好些。

 

下面介绍一下具体生成步骤:

1、新建一个framework&library库。IOS 下的cocoa touch static library。然后输入product name 为libsql

 注意:这个时候的liblibsql.a文件是红色的。是不能用的。

2、把libsql.h和libsql.m删除。导入ocsqlite.h和ocsqlite.c(文件见http://blog.youkuaiyun.com/fengsh998/article/details/8278978

3、修改scheme,设为release版本。  选中product  --&gt  edit scheme  --&gt  

 

OK,选译ios device编译运行。这个时候的liblibsql.a文件是白色的,是能使用的了

成功后将在目录的build/products/release-iphoneos/下产生一个liblibsql.a文件。   (右击liblibsql.a文件  --》 show  in finder  --&gt)

注,这里产生的是真机使用的.a文件

选译iPhone simulator 进行编译一次,同样会在build/products/release-iphonesimulator/下产生一个liblibsql.a文件。

这里是模拟器使用的.a文件。

 

下面来看一下这两个文件有什么不同之处,使用lipo -info命令。

打开终端。

进入到相应的目录。

真机的:liblibsql.a文件信息。

input file liblibsql.a is not a fat file

Non-fat file: liblibsql.a is architecture: armv7

如图:(cd  文件目录;  --》  lipo  -info  liblibsql.a)

模拟器的:liblibsql.a文件信息。

input file liblibsql.a is not a fat file

Non-fat file:  liblibsql.a  is architecture: i386

如图:

如果使用真机和模拟器通用,则需要将这两个文件合并,使用命令lipo -create  "a文件目录"   "b文件目录"  -output  “合并成功后的文件目录”

同样可以使用lipo -info 来查看这个合并的libsql.a

可以看到architectures in the fat file: libsql.a are: i386  armv7

如图:

 

OK,打包完成。这个静态库比起framework是不是简单了许多呢。

使用静态库的时候,就只需要在项目中导入静态库.a文件和.h文件就能使用了,这样就能将.m文件的内容隐藏起来了。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12231606/viewspace-1076012/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12231606/viewspace-1076012/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值