main.m
int main(int argc, char *argv[])
和其他基于C的应用程序一样,iOS应用程序的main函数为程序启动的主入口点。
main函数的作用很少,主要工作是控制UIKit framework。
UIApplicationMain(argc, argv, nil, @"AppController");
作用一:该函数有四个参数,并使用这些参数来初始化应用程序,其函数原型:
UIKIT_EXTERN int UIApplicationMain(int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName);
参数的作用:
1.argc和argv:是ISO C标准的main函数的参数,直接传递给UIApplicationMain进行相关处理。参数包含应用程序何时从系统启动等信息。这些参数是由UIKit的基础设施解析,否则可以忽略不计。
2.principalClassName:该参数标识了应用程序的类的名称(该类必须继承自UIApplication类)。是负责运行应用程序的类,它代表着当前iPhone程序本身,这个程序会去读info.plist文件获取配置信息,一般建议为这个参数传nil
3.前三个参数代表应用程序本身,作用是吧应用程序的时间循环启动来,并且读取info.plist里的配置信息。
4.delegateClassName:是应用程序的代理类。负责管理系统和代码之间的高层次互动。遵循UIApplicationDelegate的类的类名,因为UIApplication定义了一个delegte变量,这个变量应该遵循UIApplicationDelegate,负责控制程序的运行,
作用二:加载应用程序的主用户界面文件。主界面文件包含应用程序的用户界面中显示的初始化视图相关的对象。AppController.h
在程序启动是:
无论是进入前台还是后台,需要使用如下方法进行相应操作:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
①检查启动选项字典中的内容,查看程序启动的方式,并做出适当的反应。
②初始化应用程序的关键数据结构。
③准备好你的应用程序的窗口和视图进行显示。
使用OpenGL ES的应用程序不应该使用这个方法来准备他们的绘图环境。相反,他们应该推迟到- (void)applicationDidBecomeActive:(UIApplication *)application方法调用时启动OpenGL ES绘图方法。
cocos2d::CCDirector::sharedDirector()->resume();
当程序启动到前台,该系统调用- (void)applicationDidBecomeActive:(UIApplication *)application方法来完成过度到前台。该方法在从后台过度到前台是被调用,使用他来执行共有的转变任务。