30秒读懂IOS-App的完整启动流程

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

    推荐阅读