- 解析 Info.plist
- 加载相关信息,例如闪屏。
- 沙箱(SandBox)建立、权限检查。
- Mach-O 加载
- 如果是胖二进制文件,寻找合适当前 CPU 类别的部分。
- 加载所有依赖的 Mach-O 文件(递归调用 Mach-O 加载的方法)。
- 定位内部、外部指针引用,例如字符串、函数等。
- 执行声明为
__attribute__((constructor))的C函数。 - 加载分类(Category)中的方法。
- C++ 静态对象加载、调用 Objc 的
+load函数。
- 程序执行
- 调用
main() - 调用
UIApplicationMain() - 调用
applicationWillFinishLaunching代理方法
- 调用