美文网首页iOS开发bug以及解决方案
iOS 应用启动过程分析(一)

iOS 应用启动过程分析(一)

作者: AT19 | 来源:发表于2018-01-29 09:53 被阅读6次

    1.进入应用时调用main函数

    //正文
    int main(int argc, char * argv[]) {
        @autoreleasepool {
            return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
        }
    }
    
    //进入  UIApplicationMain方法后:
    
    // If nil is specified for principalClassName, the value for NSPrincipalClass from the Info.plist is used. If there is no
    // NSPrincipalClass key specified, the UIApplication class is used. The delegate class will be instantiated using init.
    UIKIT_EXTERN int UIApplicationMain(int argc, char * _Nonnull * _Null_unspecified argv, NSString * _Nullable principalClassName, NSString * _Nullable delegateClassName);
    
    // 如果为principalClassName指定了nil,则使用Info.plist中的NSPrincipalClass值。 如果没有指定NSPrincipalClass键,则使用UIApplication类。 委托类将使用init实例化。
    
    
    

    2.以上则表明进入main函数后将使用Application类 并创建Application的Delegate对象 。

    相关文章

      网友评论

        本文标题:iOS 应用启动过程分析(一)

        本文链接:https://www.haomeiwen.com/subject/pfatzxtx.html