参考文章:http://www.cnblogs.com/wendingding/p/3766347.html
理解cocos2dx启动
main.m
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, @"AppController");
[pool release];
return retVal;
}
@param1 参数个数 param2 实际参数
param3 创建UIApplication对象,为空就为UIApplication(单例,可以进行一些应用级别的操作,比如应用在手机上的角标)
param4 设置UIApplication的对象代理
设置应用的代理管理类为:Appcontroller.h
RootViewcontroller.h 类为ios应用的 根视图控制器, 其他的视图,都是在这个视图的基础上push的。这里可以设置 ios状态栏的应用与隐藏,及其它的一些东西的开启和关闭。
代理类为:Appcontroller 可以在Appcontroller 的这几个函数中做相关的操作
didFinishLaunchingWithOptions 应用程序启动后,用户级调用的第一个函数
// 当应用程序启动完毕的时候就会调用(系统自动调用) 6 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
这个函数里面可以:[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; // 禁止自动锁屏 这样的东西
// 即将失去活动状态的时候调用(失去焦点, 不可交互) 13 - (void)applicationWillResignActive:(UIApplication *)application 14 { 15 NSLog(@"ResignActive"); 16 }
// 重新获取焦点(能够和用户交互) 19 - (void)applicationDidBecomeActive:(UIApplication *)application 20 { 21 NSLog(@"BecomeActive"); 22 }
// 应用程序进入后台的时候调用 25 // 一般在该方法中保存应用程序的数据, 以及状态 26 - (void)applicationDidEnterBackground:(UIApplication *)application 27 { 28 NSLog(@"Background"); 29 }
// 应用程序即将进入前台的时候调用 32 // 一般在该方法中恢复应用程序的数据,以及状态 33 - (void)applicationWillEnterForeground:(UIApplication *)application 34 { 35 NSLog(@"Foreground"); 36 }
// 应用程序即将被销毁的时候会调用该方法 39 // 注意:如果应用程序处于挂起状态的时候无法调用该方法 40 - (void)applicationWillTerminate:(UIApplication *)application 41 { 42 }
// 应用程序接收到内存警告的时候就会调用 45 // 一般在该方法中释放掉不需要的内存 46 - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application 47 { 48 NSLog(@"MemoryWarning"); 49 }