程序的启动从main类的main方法开始,main函数做的事情:
1.创建应用程序对象 UIApplication
2.创建应用程序代理对象 AppDelegate,将AppDelegate对象设置为UIApplication对象的代理
3.启动事情循环
程序从main函数启动
int main(int argc, char * argv[]) {
@autoreleasepool {
/*
NSStringFromClass 将类名转化为字符串
关联main函数与 类Appdelegate
*/
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
接下来到appDelegate
// 唯一入口
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
// 活动状态
- (void)applicationDidBecomeActive:(UIApplication *)application
// 非活动状态
- (void)applicationWillResignActive:(UIApplication *)application
// 进入后台
- (void)applicationDidEnterBackground:(UIApplication *)application
// 进入前台
- (void)applicationWillEnterForeground:(UIApplication *)application
// 应用程序终止
- (void)applicationWillTerminate:(UIApplication *)application
关掉后台运行:在plist文件中添加Application does not run in background 设置为YES
本文详细介绍了iOS应用程序的启动过程,包括从main函数开始创建UIApplication和AppDelegate对象,并设置了UIApplication的代理,随后启动了事件循环。此外还介绍了appDelegate中的关键方法,如应用程序启动完成、进入前后台等状态变化。

被折叠的 条评论
为什么被折叠?



