发布于 

ipa的组成

iOS程序最终都会以.ipa文件导出,先来了解一下ipa文件的结构:

事实上,ipa文件只是一个zip包,可以使用如下命令解压:

/usr/bin/unzip -q xxx.ipa -d <destination>
解压后,得到上图的Payload目录,下面是个子目录,其中的内容如下:
  1. 资源文件,例如图片、html、等等。
  2. _CodeSignature/CodeResources。这是一个plist文件,可用文本查看,其中的内容就是是程序包中(不包括Frameworks)所有文件的签名。注意这里是所有文件。意味着你的程序一旦签名,就不能更改其中任何的东西,包括资源文件和可执行文件本身。iOS系统会检查这些签名。
  3. 可执行文件。此文件跟资源文件一样需要签名。
  4. 一个mobileprovision文件.打包的时候使用的,从MC上生成的。
  5. Frameworks。程序引用的非系统自带的Frameworks,每个Frameworks其实就是一个app,其中的结构应该和app差不多,也包含签名信息CodeResources文件

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

本站由 @shyiuanchen 创建,使用 Stellar 作为主题。