iOS开发之使用lipo命令制作模拟器与真机通用静态库
2013-03-14 01:40
344 查看
转自 http://blog.csdn.net/jinglijun/article/details/8276089
通常在项目中使用静态库的时候都会有两个版本,一个用于模拟器,一个用于真机,因为Mac和iPhone的CPU不同,才造成了这种情况。
为了模拟器与真机之间切换调试的方便,制作通用版本非常有必要。
现在有两个版本的静态库libSQLite_i386.a(模拟器)与libSQLite_arm.a(真机)。
1、打开终端,进入到这两个文件所在的目录;
2、执行:lipo -create libSQLite_i386.a libSQLite_arm.a -output libSQLite.a,这时文件就会多出libSQLite.a,这个文件即为通用静态库。
我们可以lipo -info libSQLite.a命令,查看是否是通用的。
可以发现libSQLite.a的大小为libSQLite_i386.a与libSQLite_arm.a之和,建议发布的时候将静态库替换成真机版。
lipo 是一个在 Mac OS X中处理通用程序(Universal Binaries)的工具。现在发售或者提供下载的许多(几乎所有)程序都打上了“Universal”标志,意味着它们同时具有
PowerPC和 Intel 芯片能够处理的代码。不过既然你可能不在意其中的一个,你就能够使用 lipo来给你的程序“瘦身”。比如你想让“便笺”应用程序只包含
Intel(i386)的代码:
cd /Applications
lipo Stickies.app/Contents/MacOS/Stickies -thin i386 -output Stickies.app/Contents/MacOS/Stickies.i386
cd Stickies.app/Contents/MacOS/
rm Stickies
mv Stickies.i386 Stickies
通常在项目中使用静态库的时候都会有两个版本,一个用于模拟器,一个用于真机,因为Mac和iPhone的CPU不同,才造成了这种情况。
为了模拟器与真机之间切换调试的方便,制作通用版本非常有必要。
现在有两个版本的静态库libSQLite_i386.a(模拟器)与libSQLite_arm.a(真机)。
1、打开终端,进入到这两个文件所在的目录;
2、执行:lipo -create libSQLite_i386.a libSQLite_arm.a -output libSQLite.a,这时文件就会多出libSQLite.a,这个文件即为通用静态库。
我们可以lipo -info libSQLite.a命令,查看是否是通用的。
可以发现libSQLite.a的大小为libSQLite_i386.a与libSQLite_arm.a之和,建议发布的时候将静态库替换成真机版。
那lipo到底是什么呢
lipo源于mac系统要制作兼容powerpc平台和intel平台的程序。lipo 是一个在 Mac OS X中处理通用程序(Universal Binaries)的工具。现在发售或者提供下载的许多(几乎所有)程序都打上了“Universal”标志,意味着它们同时具有
PowerPC和 Intel 芯片能够处理的代码。不过既然你可能不在意其中的一个,你就能够使用 lipo来给你的程序“瘦身”。比如你想让“便笺”应用程序只包含
Intel(i386)的代码:
cd /Applications
lipo Stickies.app/Contents/MacOS/Stickies -thin i386 -output Stickies.app/Contents/MacOS/Stickies.i386
cd Stickies.app/Contents/MacOS/
rm Stickies
mv Stickies.i386 Stickies
相关文章推荐
- [转] iOS开发之使用lipo命令制作模拟器与真机通用静态库
- iOS开发之使用lipo命令制作模拟器与真机通用静态库
- iOS开发之使用lipo命令制作模拟器与真机通用静态库
- iOS开发--使用lipo命令制作模拟器与真机通用静态库
- iOS开发--使用lipo命令制作模拟器与真机通用静态库
- iOS开发之使用lipo命令制作模拟器与真机通用静态库
- iOS开发之使用lipo命令制作模拟器与真机通用静态库
- iOS开发之使用lipo命令制作模拟器与真机通用静态库
- iOS开发制作模拟器与真机通用静态库
- ios开发使用lipo命令合并真机库和模拟器库
- 使用lipo合并iPhone模拟器和真机通用的静态库(类)
- ios 百度地图使用lipo命令将设备和模拟器的.a合并成一个通用的.a文件
- [IOS]制作真机和模拟器均可使用的静态库
- lipo命令合并模拟器和真机的静态库
- iOS开发之制作framework并将模拟器Framework与真机Framework合并
- ios 开发中 制作和使用静态库
- XE7 & IOS开发之开发账号(2):发布证书、发布授权profile的申请使用,附Ad hoc真机调试、生成ipa文件演示(XCode所有版本通用,有图有真相)
- 制作模拟器和真机通用静态库
- 开发技巧: 利用lipo 编译合并iPhone模拟器和真机通用的静态类库
- 制作,利用lipo 编译合并iPhone模拟器和真机通用的静态类库