iOS 打包.a文件

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


2、把libsql.h 和libsql.m删除。导入ocsqlite.h和ocsqlite.c



3、改动scheme,设为release版本号



4.

选译 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 

如图:


假设使用真机和模拟器通用,则须要将这两个文件合并,使用命令 lipocreate xxxx/liblibsql.a xxxxx/liblibsql.a -output libsql.a

相同能够使用 lipo -info 来查看这个合并的 libsql.a
能够看到 architectures in the fat file: libsql.a are: i386 armv7

OK,cheers,打包完毕。 


posted @ 2017-05-29 13:07  jzdwajue  阅读(122)  评论(0编辑  收藏  举报