(转)IOS之Info.plist文件简介
原文:IOS之Info.plist文件简介
http://www.apkbus.com/android-130240-1-1.html
(出处: Android开发论坛 - 安卓开发论坛 - Android开发 - 安卓论坛 - 移动互联网门户)
为了提供更好的用户体验,IOS 和 OS X的每个app或bundle都依赖于特殊的元信息(meta Information).
元信息有多种用途,包括
- 直接向用户展示信息
- 系统内部用来标识你的app或其支持的文档类型
- 系统框架用来辅助app的加载
通过一种特殊的信息属性列表文件,app向系统提供自己的元信息。
属性列表可用来构建任意数据,这些数据在运行时是可访问的。每个属性列表都包含了一个bundle的配置信息。文件中的keys和values描述了许多要应用于该bundle的行为以及配置选项。Xcode通常会为每个基于bundle的工程自动创建该属性列表文件,并且提供许多合适的keys以及其对应的默认的values。之后可以编辑该文件,添加任何工程所需的keys和values,或修改现有的keys所对应的values。
Info.plist文件
每个application都使用Info.plist文件来存储以上的元信息,从名称上也可以判断出Info.plist就是以上提到的“属性列表”。IOS用Info.plist来决定bundle所显示的icon,当前app支持打开的文档类型,等等其它的信息。正如以上所提到的,Info.plist本身是一种结构化的文本文件,它包含了一些重要的配置信息。Info.plist文件多数情况下是以UTF-8进行编码,并且其内部的配置内容其实是以XML格式进行组织。XML的根节点是一个词典(dictionary),包含描述bundle各个方面的keys和values。系统读取该文件,并获取app的配置信息。
按照约定,属性列表文件的名称就是Info.plist。该文件名称时大小写敏感的,并且首字母必须是大写的"I".在IOS的apps中,当新工程创建完毕后,会自动创建一个名为-Info.plist文件,该文件位于bundle目录(Supporting Files)的顶部,在工程构建时,该文件用以生成Info.plist文件,之后添加至bundle中。我们以TestPro为例,当用Xcode创建名为TestPro工程后,其目录结构如下:
我们以TestPro为例,当用Xcode创建名为TestPro工程后,其目录结构如下
在Info.plist中添加key
创建新工程时生成的Info.plist文件,默认情况下会提供支持app加载和运行所需要的多数重要的keys以及初始化对应的values。在App的加载运行时,系统会收集Info.plist文件中所包含的配置信息。根据App的需要,我们可以添加所需的额外的keys,当我们选中每行配置选项时,在key所属列的右侧,会出现“+”“-”示意的标记, <ignore_js_op>
单击加号,会在当前行的下一行插入新行,之后可以选择性的添加新key,并设置其value.plist的type一栏提供了value的可选数据类型,包括:String,Date,Array,Number,Data,Boolean,Dictionary。
因为plist也属于文本文件,并以XML格式进行内容的组织,我们可以用任何支持UTF-8的文本编辑器打开并对其进行各种编辑操作。但因为Xcode本身提供的对于plist文件内容的操作已经非常方便,基本上利用Xode编辑plist还是首选。要查看XML下plist文件的内容我们可以选中TestPro-Info.plist文件然后右键——>Open As ——>Source Code
Core Foundation Keys
Lanch Services Keys 加载服务项,提供了App加载所依赖的配置,描述了app启动的方式选择。
Cocoa Keys Cocoa框架或Cocoa Touch框架依赖这些keys来标识更高级别的配置项目,如app的main nib文件,主要类。这些key描述影响着Cocoa和Cocoa Touch框架初始化和运行app的运行方式
UIKit Keys 描述IOS Apps的行为,每个IOS应用都依赖于Info.plist的keys来与IOS系统通信。Xcode提供了生成的plist文件提供了所有app所需的那些比较重要的keys。 但app可能需要扩展默认的plist来描述更多的信息,如定制app启动后的默认旋转方向,标识app是否支持文件共享等等。
OS X Keys 描述了Mac Apps的行为,本章不描述。
(转)IOS之Info.plist文件简介的更多相关文章
- Reveal分析IOS界面,plist文件读取
Reveal分析IOS界面,需要得到app的 softwareVersionBundleId上传到iphone中 , 而IOS8的iTunesMetadata.plist (设备路径/var/mobi ...
- (转)iOS学习之 plist文件的读写
在做iOS开发时,经常用到到plist文件, 那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.plist ...
- iOS学习之 plist文件的读写
在做iOS开发时,经经常使用到到plist文件, 那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.pli ...
- ios 简单的plist文件读写操作(Document和NSUserDefaults)
最近遇到ios上文件读写操作的有关知识,记录下来,以便以后查阅,同时分享与大家. 一,简单介绍一下常用的plist文件. 全名是:Property List,属性列表文件,它是一种用来存储串行化后的对 ...
- iOS开发读取plist文件、iphone中plist文件的
在Xcode中建立一个iOS项目后,会自己产生一个.plist文件,点击时会看见它显示的是类似于excel表格: 但是,如果打开方式选择Source Code,你会看见它其实是一个xml文件. 我们会 ...
- iOS中Info.plist文件的常见配置
. 在创建一个新的Xcode工程后,会 在Supporting Files文件夹下自动生成一个工程名-Info.plist的文件,这个是对工程做一些运行期配置的文件(很重要,必须有该文件). 如果使用 ...
- iOS开发之plist文件操作
之前在想用代码去实现很多界面上能用interface builder可以拖进去的功能,现在想想真是够无知的啊.不仅效率低下,而且对于代码的维护带来不少麻烦,这段时间一直在反思看了design+code ...
- iOS之SceneKit.h文件简介
1.SceneKit简介 SceneKit(SK)是WWDC12推出的OS X平台的Cocos 3D渲染引擎框架.支持粒子效果,物理模拟,脚本事件,多程渲染,支持iOS平台.SceneKit整合了Co ...
- ios开发之Info.plist文件相关配置
前言:在iOS开发中有些情况下需要对Info.plist文件进行配置,以下介绍几种相关配置.以后遇到需要配置的再更新... 开发环境:swift3.0.1,Xcode8.1 一,项目中需要使用第三方字 ...
随机推荐
- form表单控件
$("select option[value='" + queryparams['vendor'] + "']").attr("selected&qu ...
- android:clipToPadding和android:clipChildren
假设我们要做一个效果,界面最顶部是一个ActionBar并且是半透明的,ActionBar下面是一个ListView,在初始状态 下, ListView是top是在ActionBar的bottom位置 ...
- 在唯一密钥属性“name”设置为“ScriptHandlerFactory”时,无法添加类型为“add”的重复集合项
出错原因:同一根目录下有两个相同的WebConfig文件 解决办法:删除子其中一个webConfig文件. 详细:
- 关于SQL语句优化的一个问题
今天写了一个很简单的存储过程,结果一执行,40多秒,后来调整了一句话写法,瞬间出来,其实差别不大,如下: select item_no=vpc.ITEM_ID ,BL_QTY=sum(vpc.QTY_ ...
- template模版与Underscore.js
template模版与Underscore.js 在项目中经常使用的模版是Underscore这个js框架的实用功能. 在html里面设定模板,然后js绑定数据,这样能避免在js中出现非常多的html ...
- linux shell 单引号 双引号 反引号的区别
一.单引号和双引号 首先, 单引号和双引号,都是为了解决中间有空格的问题. 因为空格在linux中时作为一个很典型的分隔符,比如 string1=this is a string,这样执行就会报错.为 ...
- 我们无法找到服务器加载工作簿的数据模型"的 SharePoint 网站,当您刷新 Excel 2013 工作簿中的数据透视表时出错
假定您使用 Analysis Services 源在 Microsoft Excel 2013 中创建数据透视表.将 Excel 工作簿上载到 Microsoft SharePoint 网站中.当您尝 ...
- CNAPS Code 查询(招商银行)
招商银行的妹子实在太傻了,根本不知道什么是CNAPS Code.联行号,完全答非所问. 最后还是自己搞定了,如图: 最后再看看招行人员的英语水平,真是不知道什么是东西:
- 常州培训 day2 解题报告
第一题: 题目大意: 给出一个M面的骰子,投N次,求最大期望值. 最大期望值的定义: 比如M=2,N=2, 那么 2次可以是 1,1,最大值为1: 1,2最大值为2: 2,1最大值为2: 2,2 最大 ...
- NOIP2005 等价表达式 解题报告
明明进了中学之后,学到了代数表达式.有一天,他碰到一个很麻烦的选择题.这个题目的题干中首先给出了一个代数表达式,然后列出了若干选项,每个选项也是一个代数表达式,题目的要求是判断选项中哪些代数表达式是和 ...


