iOS之项目常见文件、UIApplication详解及UIApplicationDelegate的代理方法
1 一、项目常见文件 2 1.main.m 3 * 里面有一个程序的入口:main函数 4 5 2.Prefix.pch文件 6 * pch文件中的内容 能被 项目中的其他任何文件 共享\包含\访问 7 * 如果定义的内容只用在OC环境中,就必须定义在#ifdef __OBJC__和#endif之间 8 9 3.发布程序的时候自动去除打印语句 10 #ifdef DEBUG 11 #define MyLog(...) NSLog(__VA_ARGS__) 12 #else 13 #define MyLog(...) 14 #endif 15 16 4.InfoPlist.strings 17 * 跟app的本地化相关(多语言版本) 18 19 5.Info.plist 20 1> 全局配置文件 21 22 2> 新旧配置文件的对比 23 Xcode3的时候,全局配置文件名:Info.plist 24 Xcode4开始,全局配置文件名:项目名-Info.plist 25 26 3> 项目中自定义的plist文件中不要包含info这个字眼 27 28 4> 常见的配置 29 Bundle display name : 软件名称 30 Bundle identifier : app的唯一标识 31 Bundle versions string, short : 软件版本号(更新app) 32 Main storyboard file base name : 设置程序一启动就加载的storyboard文件 33 34 -------------------------------------------------------------------------------------------- 35 二、UIApplication 36 1.简介 37 1> 整个应用程序的象征,一个应用程序就一个UIApplication对象,使用了单例设计模式 38 2> 通过[UIApplication sharedApplication]访问这个单例对象 39 40 2.常见用法 41 1> 设置图标右上角的红色提示数字 42 app.applicationIconBadgeNumber = 10; 43 44 2> 设置状态栏的样式 45 app.statusBarStyle = UIStatusBarStyleBlackOpaque; 46 47 3> 控制状态栏的显示和隐藏 48 app.statusBarHidden = YES; 49 50 4> 显示状态栏上面的圈圈 51 app.networkActivityIndicatorVisible = YES; 52 53 5> 打开外部资源 54 * 打开网页 55 [app openURL:[NSURL URLWithString:@"http://www.baidu.com"]]; 56 57 * 打电话 58 [app openURL:[NSURL URLWithString:@"tel://10086"]]; 59 60 * 发短信 61 [app openURL:[NSURL URLWithString:@"sms://10086"]]; 62 63 6> 代理属性(当应用程序发生了一些系统级别的事件,就会通知代理,交给代理去处理) 64 @property(nonatomic,assign) id<UIApplicationDelegate> delegate; 65 66 -------------------------------------------------------------------------------------------- 67 三、UIApplicationDelegate的代理方法 68 #pragma mark 程序加载完毕(启动完毕)就会调用一次 69 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 70 71 #pragma mark 应用程序失去焦点的时候调用(一个app如果失去焦点,就不能跟用户进行交互) 72 - (void)applicationWillResignActive:(UIApplication *)application 73 74 #pragma mark 程序进入后台就会调用 75 - (void)applicationDidEnterBackground:(UIApplication *)application 76 77 #pragma mark 程序即将进入前台的时候调用 78 - (void)applicationWillEnterForeground:(UIApplication *)application 79 80 #pragma mark 应用程序获得焦点的时候调用(一个app只有获得焦点之后才能跟用户进行交互) 81 - (void)applicationDidBecomeActive:(UIApplication *)application 82 83 #pragma mark 程序即将被关闭的时候可能会被调用 84 - (void)applicationWillTerminate:(UIApplication *)application 85 86 #pragma mark 程序接收到内存警告都会调用 87 - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application