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,打包完成。 


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。