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 
阅读(...) 
评论(...) 
编辑 
收藏

iOS开发 - App程序启动原理的更多相关文章

  1. iOS app 程序启动原理

    iOS app 程序启动原理 Info.plist: 常见设置     建立一个工程后,会在Supporting files文件夹下看到一个"工程名-Info.plist"的文件, ...

  2. iOS APP程序启动原理

    UIApplication 程序启动原理 一个应用程序运行就必须要有一个进程,一个进程至少要有一个线程,我们把这个线程叫做主线程,主线程开启之后会开启一个主运行循环,如果不开启一个运行循环,程序开启了 ...

  3. 详解 IOS 7.1 程序启动原理

    程序都是从Main方法入口的 IOS 也不例外 int main(int argc,char * argv[]) { @autoreleasepool { return UIApplicationMa ...

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

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

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

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

  6. iOS中的应用启动原理

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

  7. iOS开发人员程序许可协议

    请细致阅读以下的许可协议条款和条件之前下载或使用苹果软件.   这些条款和条件构成你和苹果之间的法律协议.   iOS开发人员程序许可协议   目的 你想使用苹果软件(例如以下定义)来开发一个或多个应 ...

  8. iOS开发app启动原理及视图和控制器的函数调用顺序

    main()函数是整个程序的入口,在程序启动之前,系统会调用exec()函数.在Unix中exec和system的不同在于,system是用shell来调用程序,相当于fork+exec+waitpi ...

  9. iOS开发——UI进阶篇(七)程序启动原理、打电话、发短信

    一.Info.plist常见的设置 1.建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 ...

随机推荐

  1. Java列出接口实现的所有接口

    package com.tj; public class MyClass2 { public static void main(String[] args) { Class cls = java.ut ...

  2. Java-计算程序运行时间

    package com.tj; @SuppressWarnings("unused") public class CountTime { public static void ma ...

  3. Android App性能自动化评测方法

    前言 App运行在设备上的性能表现也是质量保障的一个重要环节.因此,当我们确保了基本功能的准确之后,还需要有一定的方法评测App在不同设备上的性能表现.本文将从性能指标,评测方法,自动化体系建设等三个 ...

  4. .net提高文章

    文章:.NET程序性能的基本要领 文章:你的字典里有多少元素? 文章:快速自检电脑是否被黑客入侵过(Windows版) 文章:关于DNS,你应该知道这些

  5. Error Domain=AVFoundationErrorDomain Code=-11800 "这项操作无法完成"

    在iOS上开发视频操作的时候,出现错误: 录制视频错误:Error Domain=AVFoundationErrorDomain Code=-11800 "这项操作无法完成" Us ...

  6. PAT天梯赛练习题——L3-008. 喊山(邻接表+BFS)

    L3-008. 喊山 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂 ...

  7. BZOJ 3282 Tree ——Link-Cut Tree

    [题目分析] 明显的LCT维护连通性的题目. access的操作是比较巧妙的,可以把结点到根变成偏爱路径,而且保证了该点是链上深度最深的点. 而且需边的思想也很巧妙,保证了复杂度. 但是只能用于修改路 ...

  8. 刷题总结——道路覆盖(ssoj)

    题目: 题目描述 Tar 把一段凹凸不平的路分成了高度不同的 N 段(每一段相同高度),并用 H[i] 表示第 i 段高度.现在 Tar 一共有 n 种泥土可用,它们都能覆盖给定的连续的 k 个部分. ...

  9. 算法复习——树链剖分模板(bzoj1036)

    题目: 题目背景 ZJOI2008 DAY1 T4 题目描述 一棵树上有 n 个节点,编号分别为 1 到 n ,每个节点都有一个权值 w .我们将以下面的形式来要求你对这棵树完成一些操作:I.CHAN ...

  10. java面试题之什么是死锁、活锁、饿死和竞态条件?

    死锁:是指两个或两个以上的进程(或线程)在执行过程中,因争夺资源而造成的一种相互等待的现象,若无外力作用,他们将无法推进下去: 活锁:是指两个线程优先级相同,都礼让不走,就这样一直僵持下去: 饿死:在 ...