美文网首页
工程文件

工程文件

作者: 若水water | 来源:发表于2019-11-06 14:21 被阅读0次

.xcodeproj 文件是项目的工程文件,而将此文件右键显示包内容,可以看到一个project.pbxproj文件,这个文件存储着xcode的各项配置参数,它本质上是一种旧风格的Property List 文件,下面我们来认识一下这个文件:

  • project.pbxproj文件的结构是这样的:
    // !$*UTF8*$!
    {
      archiveVersion = 1;
      classes = {
      };
      objectVersion = 50;
      objects = {
       }
     }
    rootObject = 94ED86CD233B6C2000A8E264 /* Project object */;
    

而objects 中就是工程的所有配置信息和 项目文件,下面对objects中的每一项做个简单的介绍:

//bojects 中的每项 都是一个section,由begin 和 end 区分

/* 构建所需的代码文件,库文件,资源文件*/
/* Begin PBXBuildFile section */
/* End PBXBuildFile section */

/*这里记录了每个target的targetProxy,与PBXTargetDependency相对应 */
/* Begin PBXContainerItemProxy section */
/* End PBXContainerItemProxy section */

/*记录了每个代码文件的文件类型、路径path、sourceTree,不论引入文件的时候是create group还是create reference,都会在这里添加一条记录 */
/* Begin PBXFileReference section */
/* End PBXFileReference section */

/* 工程中所依赖的Frameworks的信息,对应Build Phases中的`Link Binary With Libraries`*/
/* Begin PBXFrameworksBuildPhase section */
/* End PBXFrameworksBuildPhase section */

/* 工程中所有文件的group信息,这个和xcode文件目录是对应的,每一层的文件目录有唯一的UUID,同一层group下的子group会和上一层的group的UUID有很高的重合度(基本只有1-2位不同),这个PBXGroup section中,子group没有用树的方式,而是采用类似列表的方式呈现了所有的group目录,可以脑补:打开xcode左侧目录,然后让所有目录和文件"左对齐",然后就会生成如下的结构` */
/* Begin PBXGroup section */
/* End PBXGroup section */

/* 每个Target的BuildSettings和BuildPhases(Sources/Frameworks/Resources等)的信息*/
/* Begin PBXNativeTarget section */
/* End PBXNativeTarget section */

/* 整个项目工程Project的信息,包括项目路径、Config信息,相关版本号,所有的Target等信息 */
 /* Begin PBXProject section */
 /* End PBXProject section */

/*列举了项目中每个Resources的信息, 包括Build Phase下`Copy Bundle Resources`文件、Assets.xcassets等资源文件*/
/* Begin PBXResourcesBuildPhase section */
/* End PBXResourcesBuildPhase section */

/*对应Xcode中Build Phases下的脚本文件,包括:Embed Pods Frameworks,Check Pods Manifest.lock以及其他本地或者第三方的脚本文件信息 */
/* Begin PBXShellScriptBuildPhase section */
/* End PBXShellScriptBuildPhase section */

/*对应Xcode中Build Phases的Complie Sources的代码文件*/
/* Begin PBXSourcesBuildPhase section */
/* End PBXSourcesBuildPhase section */

/*记录了每个Target的targetProxy,每个targetProxy都是一个PBXContainerItemProxy类型,暂时没找到Xcode中的对应项  */
/* Begin PBXTargetDependency section */
/* End PBXTargetDependency section */

/* 不同地区的资源文件的引用信息,如果你项目使用了国际化,相关的xxx.string就在这个section中 */
/* Begin PBXVariantGroup section */
/* End PBXVariantGroup section */

/* 对应Xcode中 Build Settings中的配置信息*/
/* Begin XCBuildConfiguration section */
/* End XCBuildConfiguration section */

/* XCBuildConfiguration只是列举了所有Target的所有Setting项,下面这个文件区分,不同Target在Debug时使用哪个Setting项,在Release时使用哪个Setting项
*/
/* Begin XCConfigurationList section */
/* End XCConfigurationList section */

以上只是对工程文件做了个简单的介绍,可以对照自己的项目看一遍。
更详细的请参照:
Xcode工程文件 project.pbxproj小结。转载
XcodeProject的内部结构分析

相关文章

  • 壹?

    建立工程文件 建立源文件 将源文件加到工程中

  • ssm

    工程目录结构 mybatis逆向工程 逆向工程配置文件 generatorConfig.xml文件 逆向工程代码 ...

  • 获取本地视频 音频路径

    1 文件放在工程文件中 2文件放在bundle文件中 再放在工程文件里面

  • iOS 修改工程名称

    修改工程名称 文件名称 修改工程文件 修改podfile文件 配置Target info.plist文件路径

  • 工程文件

    .xcodeproj 文件是项目的工程文件,而将此文件右键显示包内容,可以看到一个project.pbxproj文...

  • EOS的window工程建立说明

    VS的Linux工程拷贝文件原理 visual studio的linux的工程会将工程中添加的文件的最外层文件为基...

  • IOS-cocopods安装

    打开终端进入工程文件cd 工程文件名回车进入工程文件,为了确保是工程的根目录,然后输入ls(显示当前目录下的所有文...

  • ssm

    mybatis逆向工程 逆向工程配置文件 generatorConfig.xml文件 逆向工程代码 测试类(可以在...

  • 创建私有podspec

    1.大概步骤如下 创建项目工程文件,创建存储工程文件的远程仓库 编辑podspec文件 提交项目工程到远程仓库 创...

  • 8. 第一个逆向程序

    创建tweak工程 工程文件结构 Makefile tweak文件 “xm”中的“x”代表这个文件支持Logos语...

网友评论

      本文标题:工程文件

      本文链接:https://www.haomeiwen.com/subject/rexubctx.html