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:方法的部

posted @ 2017-05-12 09:37 wzjhoutai 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/wzjhoutai/p/6844036.html

iOS开发 - App程序启动原理相关推荐

  1. iOS程序启动原理---iOS-Apple苹果官方文档翻译

    本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/Ch ...

  2. iOS程序启动原理(上)

    为什么80%的码农都做不了架构师?>>>    iOS程序启动原理 Info.plist 常见设置 建立一个工程后,会在Supporting files文件夹下看到一个"工 ...

  3. [转]iOS hybrid App 的实现原理及性能监测

    转自:http://www.cocoachina.com/ios/20151118/14270.html iOS hybrid App 的实现原理及性能监测 2015-11-18 11:39 编辑:  ...

  4. iOS中的应用启动原理

    iOS中的应用启动原理 来源: http://m.blog.csdn.net/article/details?id=50530090  http://m.warting.com/program/201 ...

  5. 【iOS开发】——Category底层原理、Extension、关联对象

    [iOS开发]--Category底层原理.Extension.关联对象 Category是什么?它可以用来干什么? Category特点 Category的实质以及实现过程 Category结构体 ...

  6. Android开发固定app图标大小,Android和IOS开发图标、启动页尺寸

    最近项目在做android和ios的项目,设计师让我给出图标的尺寸,于是查了一下尺寸. 一.开发中的实际情况: 第一步:产品经理和UI设计师制定好UI规范,然后开始做图标做颜色做尺寸等一系列和APP界 ...

  7. iOS开发--APP性能检测方案汇总(一)

    Linux编程点击右侧关注,免费入门到精通! 作者丨青苹果园 https://github.com/SilongLi 1 . CPU 占用率 CPU作为手机的中央处理器,可以说是手机最关键的组成部分, ...

  8. iOS开发 - App语言国际化

    前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要 ...

  9. iOS hybrid App 的实现原理及性能监测

    作者董一凡自述:作为一名写了十年代码的程序员,目前我最擅长的领域是移动平台的客户端开发,在移动领域的开发时间超过七年,前前后后涉猎过很多个平台.随着大部分移动平台自己走向死亡,现在我也主要专注在了iO ...

最新文章

  1. 为什么曾经厉害的人突然不厉害了?
  2. php安装gb,php安装程序的原理
  3. @Query注解的用法(Spring Data JPA)
  4. 7.测试hadoop安装成功与否,并跑mapreduce实例
  5. Oracle中start with...connect by prior子句用法
  6. 如何理解 SAP UI5 的 sap.ui.define 函数
  7. oracle导出pdm文件命令,利用PowerDesigner逆向工程导出PDM模型及生成文档
  8. 由.def文件生成lib文件[转]
  9. 单节点hadoop部署成功
  10. Android 进程间通信
  11. matlab蚁群算法代码,蚁群算法的matlab实现
  12. jdk String类源码解析
  13. Vue引入vue-qr组件实现生成二维码,且实现在二维码中间加入logo图片功能
  14. 修改el-input叉号的样式
  15. 公司总经理KPI考核指标
  16. python文本信息对比
  17. 到北京软通动力做项目经理怎么样?
  18. matlab电压灵敏度矩阵,一种基于线性化潮流的配电网灵敏度计算方法与流程
  19. 递归与迭代,台阶问题,斐波那契,分治算法
  20. 求50以内的全部素数

热门文章

  1. 算法导论读书笔记(8)
  2. 网站开启Gzip压缩-apache
  3. java.net.SocketException: Permission denied解决
  4. 九度OJ 1054:字符串内排序
  5. node --- 实现session认证.
  6. 使用Cloud Studio写python
  7. java 企业 网站源码 模版 屏幕自适应 有前后台 springmvc SSM 生成静态化
  8. 2017年8个最流行的Web编程趋势
  9. 如何去掉jQWidgets中TreeGrid和Grid右下角的链接
  10. maven打包指定main函数