project.pbxproj

参考文章: Xcode Project File Format

打开project.pbxproj,基本结构如下

// !$*UTF8*$!
{
    archiveVersion = 1;
    classes = {
    };
    objectVersion = 45;
    objects = {

    ...

    };
    rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
}

Attribute|Type|Value|Comment
-|
archiveVersion|Number|1|Default value.
classes|List|Empty|
objectVersion|Number||See XcodeCompatibilityVersion enumeration.
objects|Map|A map of element|The map is indexed by the elements identifier.
rootObject|Reference|An element reference|The object is a reference to a PBXProject element.

唯一标识符

rootObject = 0867D690FE84028FC02AAC07 /* Project object */;

0867D690FE84028FC02AAC07是什么玩意?在文档中搜索0867D690FE84028FC02AAC07,一共会有两处,一处是上面的,另外一处在

// !$*UTF8*$!
{
    archiveVersion = 1;
    classes = {
    };
    objectVersion = 45;
    objects = {

        ...
        
        /* Begin PBXProject section */
        0867D690FE84028FC02AAC07 /* Project object */ = {
            isa = PBXProject;
            attributes = {
        
        ...

    };
    rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
}

一个唯一标识符对应一个对象,通过唯一标识符可以找到对象定义的地方,相当于通过唯一标识符将声明和实现放在了不同的位置。在project.pbxproj里主要就是()和{},如果需要对象嵌套,就会使用唯一标识符来代替,主要的内容都在objects里面。

一般都是通过xcode来操作project.pbxproj,但是在需要的时候,也可以直接编辑project.pbxproj来达到目的。

你可能感兴趣的:(project.pbxproj)