MachOView下载地址:linux
Mach-O格式全称为Mach Object文件格式的缩写,是mac上可执行文件的格式,相似于windows上的PE格式 (Portable Executable ), linux上的elf格式 (Executable and Linking Format)。github
mach-o文件类型分为:windows
一、Executable:应用的主要二进制架构
二、Dylib Library:动态连接库(又称DSO或DLL)工具
三、Static Library:静态连接库spa
四、Bundle:不能被连接的Dylib,只能在运行时使用dlopen( )加载,可当作macOS的插件.net
五、Relocatable Object File :可重定向文件类型插件
那什么又是FatFile/FatBinary?code
简单来讲,就是一个由不一样的编译架构后的Mach-O产物所合成的集合体。一个架构的mach-O只能在相同架构的机器或者模拟器上用,为了支持不一样架构须要一个集合体。
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。
MachOView工具可Mac平台中可查看MachO文件格式信息,IOS系统中可执行程序属于Mach-O文件格式,MachOView工具属于免费开源项目,源代码可在https://github.com/gdbinit/Ma...下载,
在左边窗口点击“Mach Header”选项,能够看到每一个类的cpu架构信息、load commands数量 、load commandssize 、file type等信息。
t文件只是对各类架构文件的组装,点开 “Fat Header”能够看到支持的架构,图中显示的支持ARM_V7 、ARM_64
ipo LoginSDK.a -thin armv7 -output arm/LoginSDK.a ## 将fat文件拆分获得armv7类型
lipo -create ibSyncSDKA.i386.a libSyncSDK.arm7.a -output libSyncSDK.a ##合成一个i386和armV7架构的fat文件