Chinaunix首页 | 论坛 | 博客
  • 博客访问: 307054
  • 博文数量: 53
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 325
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-14 22:50
文章分类

全部博文(53)

文章存档

2014年(15)

2013年(38)

我的朋友

分类: iOS平台

2014-03-16 11:42:26

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

 

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

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

 

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

3、修改scheme,设为release版本。

 

OK,选译ios device编译运行。成功后将在目录的build/products/release-iphoneos/下产生一个liblibsql.a文件。

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

选译iphonesimulator 进行编译一次,同样会在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

如图:

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

input file liblibsql.a is not a fat file

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

如图:

如果使用真机和模拟器通用,则需要将这两个文件合并,使用命令lipo -create  xxxx/liblibsql.a   xxxxx/liblibsql.a  -output  libsql.a

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

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

如图:

 

OK,打包完成。

阅读(218) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~