xcode项目编译过程

2018/9/25 posted in  iOS性能优化

在xcode的IDE工具很少关注整个的编译过程。
实际编译过程就是buildPhases的列表,一件一件执行这里面的工作。
比如

Check Pods Manifest.lock
runScript
Compile Sourse
Link Binary With Libraries
Copy Bundle Resources
Copy Pods Resources
RunScript
RunScript
Embed Pods Frameworks
  1. 先检查podfile的本地使用清单与Git后的清单,保证使用的是最小的pod清单

  2. runSript 执行自定义的脚本,比如提前下载编译需要的文件(这些大文件不好用git进行管理)

  3. Compile Source 编译.m文件,项目中的文件

  4. Link Binary 链接所有的静态库文件(包括.framework的静态库文件,.a的静态库文件)

  5. Copy Bundle Resources 拷贝资源文件到可执行文件目录

  6. Copy Pods Resources 拷贝Pods的资源文件到可执行的文件目录(如果pods库里包含boundle的资源文件,就会执行这个脚本,将其拷贝到可执行目录)

  7. RunScript 执行自定义脚本,在这里可以执行编译完成后的一些脚本。比如有bugTag的可以上传一些符号表。

当然执行自己的脚本方可以自己调整执行顺序。即是在编译前执行还是在编译后执行。