iosApp启动过程

App启动过程

•    解析Info.plist

▪    加载相关信息,例如如闪屏

▪    沙箱建立、权限检查

•    Mach-O加载

▪    如果是二进制文件,寻找合适当前CPU类别的部分

▪    加载所有依赖的Mach-O文件(递归调用Mach-O加载的方法)

▪    定位内部、外部指针引用,例如字符串、函数等

▪    执行声明为__attribute__((constructor))的C函数

▪    加载类扩展(Category)中的方法

▪    C++静态对象加载、调用ObjC的 +load 函数

•    程序执行

·    1.main函数

·    2.执行UIApplicationMain函数

·      1.创建UIApplication对象

·      2.创建UIApplicationDelegate对象并复制

·      3.读取配置文件info.plist,设置程序启动的一些属性

·      4.创建应用程序的Main Runloop循环

·    3.UIApplicationDelegate对象开始处理监听到的事件

·      1.程序启动成功之后,首先调用application:didFinishLaunchingWithOptions:方法,

·      如果info.plist文件中配置了启动storyboard文件名,则加载storyboard文件。

·      如果没有配置,则根据代码来创建UIWindow--->UIWindow的rootViewController-->显示

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.dSYM你是如何分析的? 2.多线程有哪几种?你更倾向于哪一种? 3.单例弊端? 4.如何把异步线程转换成同步...
    xiaon阅读 5,443评论 0 2
  • 1.dSYM你是如何分析的? 什么是 dSYM dSYM文件Xcode编译项目后,我们会看到一个同名的 dSYM ...
    chilim阅读 4,870评论 0 0
  • ========================程序的启动原理==================== 一、 项目...
    不会打滚儿的狮子阅读 3,532评论 0 2
  • 关键步骤 一个程序从main函数开始启动。代码如下: int main(int argc, char * argv...
    JzRo阅读 3,704评论 0 2
  • 文|傅青岩 全目录|木棉花树下的守候 第一章节 南国之春初见木棉 (2) 可爱的吃货室友 八点钟胖芸下班了,一进门...
    傅青岩阅读 4,028评论 23 33

友情链接更多精彩内容