今天爱分享给大家带来iOS main函数底层原理是什么【详细解答】,希望能够帮助到大家。
main函数:
main.m文件位置
main函数是iOS入口,也就是项目中的main.m文件
main函数方法
在main函数方法中,加入断点,运行发现main函数之前还有start方法,运行main函数之前会做什么呢?我们利用符号断点一探究竟?
符号断点:
1.添加符号断点的方法
将启动前三个符号断点添加,添加之后一定要吧上图的按钮取消选中,否则无法打印完整运行中的方法。启动运行:
libSystem:
libdispatch_init:
_objc_init:
通过上面三图的断点截图可以得知加载流程:
第一步:dyld 启动加载各种动态库(libSystem,libdispatch,libobjc)
第二步:加载 类,分类,方法,协议,属性,对象,
第三步:加载runtime,runloop,KVC,KVO等等。