元信息简介
为了提供更好的用户体验,IOS 和 OS X的每个app或bundle都依赖于特殊的元信息(meta Information).
元信息有多种用途,包括
我们以TestPro为例,当用Xcode创建名为TestPro工程后,其目录结构如下
在Info.plist中添加key
创建新工程时生成的Info.plist文件,默认情况下会提供支持app加载和运行所需要的多数重要的keys以及初始化对应的values。在App的加载运行时,系统会收集Info.plist文件中所包含的配置信息。根据App的需要,我们可以添加所需的额外的keys,当我们选中每行配置选项时,在key所属列的右侧,会出现“+”“-”示意的标记,
单击加号,会在当前行的下一行插入新行,之后可以选择性的添加新key,并设置其value.plist的type一栏提供了value的可选数据类型,包括:String,Date,Array,Number,Data,Boolean,Dictionary。
之后打开的文件格式如下:
Info.plist中key的类型分类
根据功能的分类,Info.plist文件的keys大致划分为以下几类
该类的keys的特点是以CF为前缀,用以代表Core Foundation,描述了一些常用的行为项
Lanch Services Keys
1、设置启动图标(CFBundleIcons
)
1 2 3 4 5 6 7 8 9 10 11 12 |
|
2、设置启动闪屏图片(UILaunchImages
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
3、设置版本号相关
(1)设置Bundle的版本号(Bundle versions string, short
)。
一般包含该束的主、次版本号,这个字符串的格式通常是“n.n.n”(n表示某个数字,如1.1.1)。第一个数字是束的主要版本号,另两个是次要版本号。该关键字的值会被显示在Cocoa应用程序的关于对话框中。该关键字不同于CFBundleVersion,它指定了一个特殊的创建号。而CFBundleShortVersionString的值描述了一种更加正式的并且不随每一次创建而改变的版本号。
1 2 |
|
(2)设置应用程序版本号(Bundle version
)。
每次部署应用程序的一个新版本时,将会增加这个编号,用于标识不同的版本。
1 2 |
|
4、设置字体相关(Fonts provided by application
)
在iOS应用中需要使用系统提供的字体之外的字体,可以将字体文件(.ttf/.odf
)复制到项目文件中,另外需要在Info.plist中添加Fonts provided by application
的项,对应的源码文件如下:
1 2 3 4 5 6 |
|
P.S关于如何使用系统支持的字体信息:
(1)在调用字体的时候,要使用字体名。字体名不是文件名,而是字体的Family Name
。Family Name可以在Font Book中查看。
label.font = [UIFont fontWithName:@"字体名称" size:16.0];
(2)遍历出系统支持的全部字体
1 2 3 4 5 6 7 8 9 10 11 |
|
5、设置应用名称(Bundle display name
)
1 2 |
|
可以通过在InfoPlist.strings中使用配置让应用在不同的语言环境下显示不同的应用名称,如在English
中使用CFBundleDisplayName="Hello World";
配置应用程序的名称为Hello World
,在Chinese
的环境下使用CFBundleDisplayName="你好世界";
配置应用程序的名称为你好世界
。
6、设置应用标识号(Bundle identifier
)
1 2 |
|
7、设置应用支持的屏幕方向(Supported interface orientations
)
iOS应用程序支持以下四个方向的设置:UIInterfaceOrientationPortrait
(默认竖直方向,HOME键向下)、UIInterfaceOrientationLandscapeLeft
(横屏靠左)、UIInterfaceOrientationLandscapeRight
(横屏向右)和UIInterfaceOrientationPortraitUpsideDown
(竖直方向倒置,HOME键向上)
对应的配置源码如下:
1 2 3 4 5 6 7 |
|
8、设置应用程序是否支持后台运行(Application does not run in background
)
通过UIApplicationExitsOnSuspend
可以设置iOS的应用程序进入到挂起状态下是否立即退出,设置为YES
表示不支持后台运行退出到后台立即退出,设置为NO
表示支持后台运行。
(1)设置支持后台运行
1 2 |
|
(2)设置不支持后台运行
1 2 |
|
1、《Information Property List Key Reference》
2、《iOS工程中的info.plist文件的完整研究》
3、《在iOS程序中使用自定义字体》