iOS开发 - App程序启动原理

Info.plist和pch文件的作用

建立一个project后,会在Supporting files目录下看到一个“project名-Info.plist”的文件,该文件对project做一些执行期的配置。很重要,不能删除

在旧版本号Xcode创建的project中。这个配置文件的名字就叫“Info.plist”

项目中其它Plist文件不能带有“Info”这个字眼,不然会被错觉得是传说中很重要的“Info.plist”

项目中另一个InfoPlist.strings的文件,跟Info.plist文件的本地化相关

Info.plist

//常见属性(红色部分是用文本编辑器打开时看到的key)
Localiztion native development //本地化相关
region(CFBundleDevelopmentRegion) //程序安装后显示的名称,限制在10-12个字符,假设超出,将被显示缩写名称
Bundle display name(CFBundleDisplayName) //app图标名称,一般为Icon.png
Icon file(CFBundleIconFile) //应用程序的版本号号,每次往App Store上公布一个新版本号时,须要添加这个版本号号
Bundle version(CFBundleVersion) //主storyboard文件的名称
Main storyboard file base name(NSMainStoryboardFile) //项目的唯一标识,部署到真机时用到
Bundle identifier(CFBundleIdentifier)

pch文件

项目的Supporting files目录以下有个“project名-Prefix.pch”文件,也是一个头文件

pch头文件的内容能被项目中的其它全部源文件共享和訪问

一般在pch文件里定义一些全局的宏

在pch文件里加入下列预处理指令。然后在项目中使用Log(…)来输出日志信息,就能够在公布应用的时候。一次性将NSLog语句移除(在调试模式下,才有定义DEBUG)

#ifdef DEBUG
#define Log(...) NSLog(__VA_ARGS__)
#else
#define Log(...) /* */
#endif

UIApplication的常见使用

UIApplication对象是应用程序的象征

每个应用都有自己的UIApplication对象。并且是单例的

通过[UIApplication sharedApplication]能够获得这个单例对象

一个iOS程序启动后创建的第一个对象就是UIApplication对象

利用UIApplication对象,能进行一些应用级别的操作

//设置应用程序图标右上角的红色提醒数字
@property(nonatomic) NSInteger applicationIconBadgeNumber; //设置联网指示器的可见性
@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;

假设想利用UIApplication来管理状态栏。首先得改动Info.plist的设置

iOS开发 - App程序启动原理

iOS7中的状态栏

从iOS7開始,系统提供了2种管理状态栏的方式

通过UIViewController管理(每个UIViewController都能够拥有自己不同的状态栏)

通过UIApplication管理(一个应用程序的状态栏都由它统一管理)

在iOS7中。默认情况下。状态栏都是由UIViewController管理的,UIViewController实现下列方法就能够轻松管理状态栏的可见性和样式

//状态栏的样式
- (UIStatusBarStyle)preferredStatusBarStyle; //状态栏的可见性
- (BOOL)prefersStatusBarHidden;

openURL:

UIApplication有个功能十分强大的openURL:方法
- (BOOL)openURL:(NSURL*)url;

openURL:方法的部

posted @
2017-05-12 09:37 
wzjhoutai 
阅读(...) 
评论(...) 
编辑 
收藏
上一篇:PAT基础6-9


下一篇:PAT基础6-7