mach-o是Mach Object的缩写,是mac/ios平台上用于存储程序和库的标准格式。
可以在xnu中看到对mach-o的定义:https://opensource.apple.com/tarballs/xnu/
mach-o的类型有11种:
其中常见的几个类型是:
mach-o文件的结构:
mach-o文件结构主要是三个部分Header,Load commands,Raw segment data。
一般有什么工具可以查看mach-o文件?
什么是Universal Binary?
Universal Binary就是通用二进制文件,也叫“Fat Binary”(胖二进制文件)。看下图:
dyld和mach-o的关系?
在打包好的ipa里面,其实dyld也是一个mach-o文件,只是这个文件是用来加载其他的mach-o文件和动态库的。