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:方法的部
posted @ 2017-05-12 09:37 wzjhoutai 阅读(...) 评论(...) 编辑 收藏

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/269423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringFramework5.0 @Indexed注解 简单解析

使用场景 在应用中有大量使用ComponentScan扫描的package包含的类越多的时候&#xff0c;Spring模式注解解析耗时就越长。 使用方法 在项目中使用的时候需要导入一个spring-context-indexer jar <dependency><groupId>org.springframework</groupId><…

SQL2000里的数据类型

(1)char、varchar、text和nchar、nvarchar、ntext char和varchar的长度都在1到8000之间&#xff0c;它们的区别在于char是定长字符数据&#xff0c;而varchar是变长字符数据。所谓定长就是长度固定的&#xff0c;当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面…

word html 预览 打印出来,word预览时文字在表格中,打印出来却没有.doc

word预览时文字在表格中,打印出来却没有篇一&#xff1a;打印WORD文档时,打印预览只显示部分文字是怎么回事&#xff1f;Word 20071. 单击“Office 按钮”&#xff0c;然后单击“Word 选项”。2. 打开“显示”菜单&#xff0c;单击以选中“打印选项”下的“打印背景色和图像”复…

MaC 修改MySQL密码

1.苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务&#xff08;点击stop mysql server&#xff09; 2.进入终端输入&#xff1a;cd /usr/local/mysql/bin/ 回车后 登录管理员权限 sudo su 回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-g…

正则学习:组的定义及引用方式

一个正则表达式匹配结果可以分成多个部分&#xff0c;这就是组(Group).把一次Match结果用(?<name>)的方式分成组,例子:publicstaticvoidMain() {  string s "2005-2-21";  Regex reg new Regex("(?<y>…

hdu 3549 Flow Problem(最大流模板题)

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid3549 Problem DescriptionNetwork flow is a well-known difficult problem for ACMers. Given a graph, your task is to find out the maximum flow for the weighted directed graph.InputThe first line of…

html两个盒子怎么左右对其,关于html:在同一行上左右对齐两个内联块

如何对齐两个内联块&#xff0c;以便一个在左边&#xff0c;另一个在同一行&#xff1f; 为什么这么难&#xff1f; 是否有类似LaTeX的 hfill这样的东西可以占用它们之间的空间来实现这一目标&#xff1f;我不想使用浮点数&#xff0c;因为有了内联块&#xff0c;我可以将基线对…

奉献给你:《Visual C# 2005程序开发与界面设计秘诀》

对于《Visual C# 2005程序开发与界面设计秘诀》&#xff0c;我们将其定位为一本Visual C# 2005的进阶技术研讨书&#xff0c;针对的是曾使用过Visual C# 2002或者已经对新版本的Visual C# 2005有些了解的读者。在这本书里面&#xff0c;使用了将近130个小节以及范例&#xff0c…

.net的轻量级ORM -- PetaPoco/NPOCO框架使用说明

.net的轻量级ORM -- PetaPoco/NPOCO框架使用说明(具体参看:http://www.toptensoftware.com/petapoco/) 从11年就开始尝试使用轻量级ORM&#xff1a;PetaPoco,下文是基本使用方法。另外NPoco是PetaPoco的升级版&#xff0c;是另外一个人维护&#xff0c;原版PetaPoco基本不再维护…

mysql错误Please use SHOW DDL to check it, and then recover or rollback it using RECOVER DDL or ROLLBAC

Please use SHOW DDL to check it, and then recover or rollback it using RECOVER DDL or ROLLBACK DDL, mysql执行DDL语句的时候提示错误&#xff1a; [Err] 4644 - [1065507aa5d0c000][10.0.85.135:3306][test]ERR-CODE: [TDDL-4644][ERR_PENDING_DDL_JOB_EXISTS] Anoth…

计算机网络读后感500字,《网络少年》观后感500字作文

我还 觉得我们应该像索拉拉老师那样正确使用电脑&#xff0c;利用它来帮助我们学习、工作&#xff0c;利用它来充实生活&#xff0c;寻找乐趣&#xff0c;而不是单纯地利用它来玩电脑游戏。下面是小编为你们整理的几篇文章&#xff0c;希望你们喜欢阅读。《网络少年》观后感500…

Blog小技巧之二-让朋友在Blog上也能QQ到自己

首先打开“[url]http://is.qq.com/cgi-bin/webpresence/wpa_code?uin123456789[/url]”&#xff0c;把上面的123456789换成对方的QQ号。 然后选择想要的会话图片和提示。在“点击生成代码”中我们选择生成网页代码&#xff0c;这时我们可以得到一段网页代码&#xff0c;把它粘…

Linux中常见目录的作用

bin目录 有四个bin目录&#xff0c;分别是/bin、/sbin、/usr/bin/、/usr/sbin/  用来保存系统命令&#xff0c;区别是 前两个目录下的命令所有用户都可以执行&#xff0c;后两个目录下的命令只有超级用户可以执行boot目录 启动目录&#xff0c;保存的是用户的启动数据dev目录…

springboot 设置server.port不失效原因

配置服务启动的端口时&#xff0c;springboot默认在application.properties配置文件中提供了server.port配置项,但是启动后没有生效&#xff0c;其实该配置项要想生效其实是依赖于项目中内嵌的tomcat容器 内嵌tomcat的jar包依赖包含在pom中 <dependency><groupId>o…

计算机科学学院陈瑜,浙江大学城市学院计算机与计算科学学院 计算机科学与技术 陈则伦...

陈则伦省级优秀毕业生计算机1202所获奖项及荣誉&#xff1a;国家奖学金、学业优秀二等奖学金、学科竞赛优秀奖学金(团体一等)、学院“三好学生”荣誉称号、学业优秀二等奖学金2次、学科竞赛优秀奖学金(团体一等)、学科竞赛个人优秀二等奖学金2次、学院“三好学生”荣誉称号学科…

gcc对C语言的扩展:局部标签声明(Locally Declared Labels)

每个语句内嵌表达式都是一个可以声明局部跳转标签的域。一个局部标签只是一个标识符&#xff1a;你可以使用通常的goto语句跳到它&#xff0d;&#xff0d;但是只能在它所属的域内这么做。一个局部标签的申明如下&#xff1a;__label__ label;或者&#xff1a;__label__ label1…

界限设置

进行完第2步后在新打开的图层中输入limits 回车 输入坐标0&#xff0c;0 回车 输入界面长宽按坐标的方式输入&#xff0c;如297&#xff0c;210 然后回车&#xff1b;按F7可以显示和关闭格子 转载于:https://www.cnblogs.com/2277098974-qqcom/p/6853829.html

com.alibaba.excel.exception.ExcelAnalysisException: java.lang.NoClassDefFoundError: org/apache/poi/p

今天用 今天用easyexcel遇到这个报错 com.alibaba.excel.exception.ExcelAnalysisException: java.lang.NoClassDefFoundError: org/apache/poi/p 我用的是2.2.6版本 <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --><dependency><groupId…

计算机专业的大学生活演讲稿,大学生演讲稿3到5分钟

3大学生演讲稿3到5分钟篇二尊敬的领导老师&#xff0c;亲爱的同学们&#xff1a;大家晚上好&#xff0c;我是来自会计院20XX级会计电算化5班的李晓丹&#xff0c;很荣幸这天有机会站在那里作为出色学生代表与大家交流我的学习故事。相信在我的故事里也必须有不少在坐的同学们身…

mac Pycharm安装和激活

Pycharm 是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具&#xff0c;比如调试、语法高亮、Project管理&#xff0c;代码跳转&#xff0c;只能提示&#xff0c;自动完成&#xff0c;单元测试、脚本控制。此外&#xff0c;该IDE提供了一些高级功…