IOS Info.plist 文件中部分常用选项解析
2016-11-07 12:54
453 查看
学习 IOS 开发也有一段时间了,但却一直没有对工程中的 Info.plist 文件作挖掘。今天主要针对此文件作一下详细分析。
建立一个工程后,会在Supporting files下面看到一个”工程名-Info.plist”的文件,这个是对工程做一些运行期配置的文件,很重要,不能删除。如果使用文本编辑器打开这个文件,会发现这是一个XML格式的文本文件,一般我们不用文本编辑器直接编辑这个文件,而是通过Xcode编辑。
文件示例图(比较常用的几个选项用红色矩形框标识):
![](https://img-blog.csdn.net/20161107105306033)
下面对部分常用选项作分析解释(括号内使用文本编辑器打开时看到的 key):
Localiztion native development region(CFBundleDevelopmentRegion) —— 本地化相关,如果用户所在地没有相应的语言资源,则用这个key的value来作为默认。
Bundle identifier(CFBundleIdentifier) —— 软件的唯一标识字符串,如果使用模拟器跑应用,这个字段没有用处,如果需要把应用部署到设备上,必须生成一个证书,而在生成证书的时候,在 apple 的网站上需要增加相应的 app IDs. 这里有一个字段 Bundle identifier,如果这个Bundle identifier 是一个完整字符串,那么文件中的这个字段必须和后者完全相同,如果 app IDs 中的字段含有通配符*,那么文件中的字符串必须符合后者的描述。
该标识符的另外一个比较常见的用处是辅助系统后台的推送机制。举个例子,有时候手机的 QQ 和微信并没有打开,但却也能接收到消息推送,此处便是标识符的功劳,系统通过识别标识符而得知准确的应用推送对象,不会说把 QQ 消息推送到微信端。
Bundle versions string, short(CFBundleShortVersionString) —— 应用程序的版本号(面向用户市场)。
Bundle version(CFBundleVersion) —— 编译版本号。
Application require iPhone environment(LSRequiresIPhoneOS) —— 用于指示程序包是否只能运行在iPhone OS 系统上。Xcode自动加入这个键,并将它的值设置为true。不应该改变这个键的值。
supported interface orientations(UISupportedInterfaceOrientations) —— 程序默认支持的方向。
在 Info.plist 文件中修改部分选项可能不是很方便,实际上,还有一个可视化界面可供选择修改——工程文件首页。
如下图所示:
![](https://img-blog.csdn.net/20161107112646905)
在这个界面就能够更直观地去修改部分选项,这里面的选项大多数都可以与 Info.plist 文件对应。
下面以获取软件版本信息为例,说说 Info.plist 文件的读取操作:
方法一:
方法二:
由此可见,方法二实现起来更方便,实际上是对方法一的封装。
建立一个工程后,会在Supporting files下面看到一个”工程名-Info.plist”的文件,这个是对工程做一些运行期配置的文件,很重要,不能删除。如果使用文本编辑器打开这个文件,会发现这是一个XML格式的文本文件,一般我们不用文本编辑器直接编辑这个文件,而是通过Xcode编辑。
文件示例图(比较常用的几个选项用红色矩形框标识):
下面对部分常用选项作分析解释(括号内使用文本编辑器打开时看到的 key):
Localiztion native development region(CFBundleDevelopmentRegion) —— 本地化相关,如果用户所在地没有相应的语言资源,则用这个key的value来作为默认。
Bundle identifier(CFBundleIdentifier) —— 软件的唯一标识字符串,如果使用模拟器跑应用,这个字段没有用处,如果需要把应用部署到设备上,必须生成一个证书,而在生成证书的时候,在 apple 的网站上需要增加相应的 app IDs. 这里有一个字段 Bundle identifier,如果这个Bundle identifier 是一个完整字符串,那么文件中的这个字段必须和后者完全相同,如果 app IDs 中的字段含有通配符*,那么文件中的字符串必须符合后者的描述。
该标识符的另外一个比较常见的用处是辅助系统后台的推送机制。举个例子,有时候手机的 QQ 和微信并没有打开,但却也能接收到消息推送,此处便是标识符的功劳,系统通过识别标识符而得知准确的应用推送对象,不会说把 QQ 消息推送到微信端。
Bundle versions string, short(CFBundleShortVersionString) —— 应用程序的版本号(面向用户市场)。
Bundle version(CFBundleVersion) —— 编译版本号。
Application require iPhone environment(LSRequiresIPhoneOS) —— 用于指示程序包是否只能运行在iPhone OS 系统上。Xcode自动加入这个键,并将它的值设置为true。不应该改变这个键的值。
supported interface orientations(UISupportedInterfaceOrientations) —— 程序默认支持的方向。
在 Info.plist 文件中修改部分选项可能不是很方便,实际上,还有一个可视化界面可供选择修改——工程文件首页。
如下图所示:
在这个界面就能够更直观地去修改部分选项,这里面的选项大多数都可以与 Info.plist 文件对应。
下面以获取软件版本信息为例,说说 Info.plist 文件的读取操作:
方法一:
// File:获取文件的全路径 —— 文件在哪(主bundle) NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Info.plist" ofType:nil]; // 1. 解析 Info.plist NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:filePath]; // 2.获取当前的版本号 NSString *Version = dict[@"CFBundleShortVersionString"]; NSLog(@"%@",Version);
方法二:
NSString Version = [NSBundle mainBundle].infoDictionary[@"CFBundleShortVersionString"]; NSLog(@"%@",Version);
由此可见,方法二实现起来更方便,实际上是对方法一的封装。
相关文章推荐
- iOS中Info.plist文件常用属性
- IOS开发-OC学习-Info.plist文件解析
- iOS项目配置文件info.plist文件解析上
- Info.plist文件常用属性解析
- (ios)ARC常用设置,部分文件编译设置ARC
- iOS (ProjectName-info.plist) (ProjectName-Prefix.pch) 解析
- iOS工程中的info.plist文件的完整研究
- iOS工程中的info.plist文件的完整研究
- Info.plist和pch文件的作用,UIApplication,iOS程序的启动过程,AppDelegate 方法解释,UIWindow,生命周期方法
- Info.plist和pch文件的作用,UIApplication,iOS程序的启动过程,AppDelegate 方法解释,UIWindow,生命周期方法
- iOS工程中的info.plist文件的完整研究
- [iOS]Info.plist中常用的key简介
- iOS工程中的info.plist文件的完整研究
- iOS工程中的info.plist文件的详解
- 44-info.plist项目配置文件的常用属性,以及Info.plist对应xcode的project的图形界面(发布配置)
- [iOS]info.plist文件中的有关的所有键值参考
- 文件学习IOS学习:常用第三方库(GDataXMLNode:xml解析库)
- iOS工程中的info.plist文件的完整研究
- IOS工程中Info.plist文件详解
- (ios)ARC常用设置,部分文件编译设置ARC