一、找到main.m文件:有可能存在以下方式:
1: 指定入口类
int main(int argc,char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePoolalloc] init];
int retVal = UIApplicationMain(argc, argv,nil, @"DemoAppDelegate");
[poolrelease];
return retVal;
}
2: 另外一种表达方式
int main(int argc,char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
3、使用自动释放池
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
二、UIApplicationMain对象自动读取Info.plist。
主要目的是创建一个UIApplicationMain对象。
首先,它读取Info.plist中的Main storyboard file base name键值"Main",表示当App初始化时的Storyboard名称,当程序运行时,UIApplication会使用 MainStoryboard.sotryboard作为第一加载项,并且将他的UIWindow展示在屏幕上,不需要任何编程工作。
三、如果Info.plist没有定义这个字段,则找到AppDelegate.m文件
在application: didFinishLaunchingWithOptions中找到UIViewController, 一般这个viewController就是入口了。