通常在项目中使用静态库的时候都会有两个版本,一个用于模拟器,一个用于真机,因为Mac和iPhone的CPU不同,才造成了这种情况。
为了模拟器与真机之间切换调试的方便,制作通用版本非常有必要。
现在有两个版本的静态库libSQLite_i386.a(模拟器)与libSQLite_arm.a(静态库)。
1、打开终端,进入到这两个文件所在的目录;{使用mac快速进入终端的方法:System Preferences(系统偏好设置) -> Keyboard(键盘) -> Shortcuts(快捷键) -> Services(服务) -> New Terminal at Folders(新建位于文件夹位置的终端标签)/New Terminal Tab at Folder (新建位于文件夹位置的终端窗口)这二项都勾上 。
在需要的合并的.a库所在文件夹右击选择服务如下图所示:
}
2、执行终端命令语句:lipo -createlibSQLite_i386.alibSQLite_arm.a-output libSQLite.a,这时文件就会多出libSQLite.a,这个文件即为通用静态库。
我们可以lipo -infolibSQLite.a命令,查看是否是通用的。
可以发现libSQLite.a的大小为libSQLite_i386.a与libSQLite_arm.a之和,建议发布的时候将静态库替换成真机版。