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的设置
iOS7中的状态栏
从iOS7開始,系统提供了2种管理状态栏的方式
通过UIViewController管理(每个UIViewController都能够拥有自己不同的状态栏)
通过UIApplication管理(一个应用程序的状态栏都由它统一管理)
在iOS7中。默认情况下。状态栏都是由UIViewController管理的,UIViewController实现下列方法就能够轻松管理状态栏的可见性和样式
//状态栏的样式
- (UIStatusBarStyle)preferredStatusBarStyle;
//状态栏的可见性
- (BOOL)prefersStatusBarHidden;
openURL:
UIApplication有个功能十分强大的openURL:方法
- (BOOL)openURL:(NSURL*)url;openURL:方法的部
转载于:https://www.cnblogs.com/wzjhoutai/p/6844036.html
iOS开发 - App程序启动原理相关推荐
- iOS程序启动原理---iOS-Apple苹果官方文档翻译
本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/Ch ...
- iOS程序启动原理(上)
为什么80%的码农都做不了架构师?>>> iOS程序启动原理 Info.plist 常见设置 建立一个工程后,会在Supporting files文件夹下看到一个"工 ...
- [转]iOS hybrid App 的实现原理及性能监测
转自:http://www.cocoachina.com/ios/20151118/14270.html iOS hybrid App 的实现原理及性能监测 2015-11-18 11:39 编辑: ...
- iOS中的应用启动原理
iOS中的应用启动原理 来源: http://m.blog.csdn.net/article/details?id=50530090 http://m.warting.com/program/201 ...
- 【iOS开发】——Category底层原理、Extension、关联对象
[iOS开发]--Category底层原理.Extension.关联对象 Category是什么?它可以用来干什么? Category特点 Category的实质以及实现过程 Category结构体 ...
- Android开发固定app图标大小,Android和IOS开发图标、启动页尺寸
最近项目在做android和ios的项目,设计师让我给出图标的尺寸,于是查了一下尺寸. 一.开发中的实际情况: 第一步:产品经理和UI设计师制定好UI规范,然后开始做图标做颜色做尺寸等一系列和APP界 ...
- iOS开发--APP性能检测方案汇总(一)
Linux编程点击右侧关注,免费入门到精通! 作者丨青苹果园 https://github.com/SilongLi 1 . CPU 占用率 CPU作为手机的中央处理器,可以说是手机最关键的组成部分, ...
- iOS开发 - App语言国际化
前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要 ...
- iOS hybrid App 的实现原理及性能监测
作者董一凡自述:作为一名写了十年代码的程序员,目前我最擅长的领域是移动平台的客户端开发,在移动领域的开发时间超过七年,前前后后涉猎过很多个平台.随着大部分移动平台自己走向死亡,现在我也主要专注在了iO ...
最新文章
- 为什么曾经厉害的人突然不厉害了?
- php安装gb,php安装程序的原理
- @Query注解的用法(Spring Data JPA)
- 7.测试hadoop安装成功与否,并跑mapreduce实例
- Oracle中start with...connect by prior子句用法
- 如何理解 SAP UI5 的 sap.ui.define 函数
- oracle导出pdm文件命令,利用PowerDesigner逆向工程导出PDM模型及生成文档
- 由.def文件生成lib文件[转]
- 单节点hadoop部署成功
- Android 进程间通信
- matlab蚁群算法代码,蚁群算法的matlab实现
- jdk String类源码解析
- Vue引入vue-qr组件实现生成二维码,且实现在二维码中间加入logo图片功能
- 修改el-input叉号的样式
- 公司总经理KPI考核指标
- python文本信息对比
- 到北京软通动力做项目经理怎么样?
- matlab电压灵敏度矩阵,一种基于线性化潮流的配电网灵敏度计算方法与流程
- 递归与迭代,台阶问题,斐波那契,分治算法
- 求50以内的全部素数