Info.plist文件位于应用程序(以及其他大部分bundle)的Contents/子目录下,这个文件保存了bundle的元数据信息。这个文件是必备的,操作系统通过这个文件判定依赖关系和其他属性。
属性列表(或 plist)的格式在其自己的手册页 plist(5)中已经有很好的文档了。有 3 种保存属性列
表的格式:
1 XML:这种格式的列表是人类可读的格式,可以很容易地通过文件头部的 XML签名和文档
类型定义(DTD)识别出来。属性列表中的所有元素都包含在一个<plist>元素内,这个元素定
义了一个数组或一个字典(<dict>,即键/值的关联数组)。这是 OS X 上属性列表的常用格式。
2 二进制格式:也称为 BPlists,可以通过文件头部的魔数 bplist 识别。这种文件是编译后的
plist 文件,因此人类可读性很差,但是对操作系统却是高度优化的,因为使用这种格式的
plist不需要复杂的 XML解析和处理。此外,BPlists 的串行化也很简单直接,因为数据可以
直接通过 memcpy 写入,而不需要转换至 ASCII。BPlists 是 OS X 10.2引入的,在 iOS 上比
在 OS X 上更为常用。
3 JSON:使用 JavaScript Object Notation,键/值以容易阅读的格式保存,而且也很容易解析。
这个格式的使用不如 XML格式和二进制格式常见。
属性列表(或 plist)的格式在其自己的手册页 plist(5)中已经有很好的文档了。有 3 种保存属性列
表的格式:
1 XML:这种格式的列表是人类可读的格式,可以很容易地通过文件头部的 XML签名和文档
类型定义(DTD)识别出来。属性列表中的所有元素都包含在一个<plist>元素内,这个元素定
义了一个数组或一个字典(<dict>,即键/值的关联数组)。这是 OS X 上属性列表的常用格式。
2 二进制格式:也称为 BPlists,可以通过文件头部的魔数 bplist 识别。这种文件是编译后的
plist 文件,因此人类可读性很差,但是对操作系统却是高度优化的,因为使用这种格式的
plist不需要复杂的 XML解析和处理。此外,BPlists 的串行化也很简单直接,因为数据可以
直接通过 memcpy 写入,而不需要转换至 ASCII。BPlists 是 OS X 10.2引入的,在 iOS 上比
在 OS X 上更为常用。
3 JSON:使用 JavaScript Object Notation,键/值以容易阅读的格式保存,而且也很容易解析。
这个格式的使用不如 XML格式和二进制格式常见。
这三种格式都是原生支持的。事实上,Objective-C 的运行时让开发者可以完全忽略具体的格式。
<