iOS 开发 .pbxproj对象内部的属性类型–Xcode Project File Format
1.前言
- Xcode项目文件是一个老式的plist(下一个风格)根据括号分隔的层次结构。文件开头一个显式的编码信息,通常是utf - 8。这意味着文件不能忍受一个BOM(字节顺序标记)在其开始或解析就会失败。
- 注意:下面的文档是基于观察各种*。pbxproj文件和元素属性推断。没有相关代码的逆向工程。
2.唯一标识
- 文件中的每一个元素是由一个96位的标识符唯一标识使用24十六进制表示。这种独特的标识符是唯一的跨文档。
- Xcode所使用的算法来生成惟一的标识符似乎都基于日期、序列和预定义的值,但没有证据表明这些标识符必须遵循惯例,一代可以认为可以使用任意的标识符,只要他们跨越文档是独一无二的。
3.元素
这是文件格式中包含的元素的列表:
4.Root Element
根部分包含的一般信息。
5.PBXAggregateTarget
这个元素包含了Target的其他重要元素
6.PBXBuildFile
This element indicate a file reference that is used in a PBXBuildPhase (either as an include or resource).
7.PBXBuildPhase
build phases的一个抽象父类元素。
8.PBXContainerItemProxy
这个元素是来描述target item的
9.PBXCopyFilesBuildPhase
build phase的复制文件.
10.PBXFileElement
file and group 的抽象父类
11.PBXFileReference
PBXFileReference是用来跟踪每一个外部文件引用的项目:源文件、资源文件,库,生成的应用程序文件,等等。
12.PBXFrameworksBuildPhase
build phase的连接类库
13.PBXGroup
group files or group 的元素
14.PBXHeadersBuildPhase
build phase的连接类库
15.PBXLegacyTarget
16.PBXNativeTarget
build target元素的一个二进制内容(应用程序或库)
17.PBXProject
build target元素的一个二进制内容(应用程序或库)
18.PBXResourcesBuildPhase
build phase的复制资源
19.PBXShellScriptBuildPhase
build phase的复制资源
20.PBXSourcesBuildPhase
This is the element for the sources compilation build phase.
21.PBXTarget
This element is an abstract parent for specialized targets.
22.PBXTargetDependency
This is the element for referencing other target through content proxies.
23.PBXVariantGroup
This is the element for referencing localized resources.
24.XCBuildConfiguration
This is the element for defining build configuration.
25.XCConfigurationList
This is the element for listing build configurations.