美文网首页
Xcode应用程序构建阶段

Xcode应用程序构建阶段

作者: 吕建雄 | 来源:发表于2023-05-11 23:34 被阅读0次

    点击Xcode的TARGETS,看到一些设置的配置信息,其中有一项是Build Phases,也就是Xcode的构建阶段

    包括:

        1、Target Dependencies 设置依赖target

        2、Run Build Tool Plug-ins

        3、[CP]Check Pods Manifest.lock

        该脚本位于较上方,作用是比较远端Podfile.lock和本地Manifest.lock文件是否相同

        4、Compile Sources 编译源文件

        这个阶段编译所有的源文件;默认情况下,项目中添加任何一个源文件,也将添加到编译列表中

        Complile Sources分为两步:预处理和编译(Preprocessing、Compiling)。Preprocessing阶段的目标是为每一个实现文件.m创建中间文件,中间文件比较大。在创建中间文件时,Preprocessing阶段负责处理实现文件.m和所有预处理指令。预处理指令是所有以#开头的语句,如#import

        5、Link Binary With Libraries 连接二进制文件和库

        在完成源文件的编译之后,链接框架(或库)

        6、Copy Bundle Resources 复制绑定资源(设置需要拷贝到Main bundle里面的资源文件)

        在源文件编译和链接库之后,创建一个可执行文件,并放置在应用程序的绑定中(一个文件夹)。其中资源文件和可执行文件一起添加到(bundle)中。这些资源文件是数据文件,应用程序在运行时需要使用,如XIB文件和图像文件、声音文件等等。默认情况下,添加到项目中的文件,如不是源代码文件,将添加到这个构建阶段(比如:storyboard、Images.xcassets、InfoPlist.strings、Main.storyboard)

        7、[CP]Copy Pods Resources

    一般在以静态库引入的三方库里面包含资源文件的话会添加该脚本,其作用是将三方库的资源文件拷贝至项目中

    它的完成是通过运行类似以下脚本进行的:

    "${PODS_ROOT}/Target Support Files/Pods-Demo_Example/Pods-Demo_Example-resources.sh"

    ***********************

    当使用pod集成三方库时,执行pod install后,会生成.xcworkspace、Podfile.lock、Pods目录

    1、xcworkspace

    该文件下包含一个叫contents.xcworkspacedata的文件,内容如下:

    <?xml version="1.0" encoding="UTF-8"?>

    <Workspace

       version = "1.0">

        <FileRef

              location = "group:Demo.xcodeproj">

        </FileRef>

        <FileRef

              location = "group:Pods/Pods.xcodeproj">

        </FileRef>

    </Workspace>

    xcworkspace是一个容器,当有多个project需要相互依赖时可以使用xcworkspace将它们组织起来。pod在首次安装三方库时会生成一个叫Pods.xcodeproj的project管理三方库,然后将该project和主项目的project通过workspace进行关联。这样就可以在主工程中引入三方库了,而且三方库统一由Pods.xcodeproj管理,不会对原项目产生任何干扰

    2、Podfile.lock

    指定具体三方库的具体版本号

    3、Pods

    Manifesk.lock是Podfile.lock的副本,在Pods目录下。作用:通常不把Pods文件放到版本管理里面,而把Podfile.lock放到版本管理里面,这时对于pull代码之后是否需要更新pod,就可以通过对比本地的Manifest.lock和远程Podfile.lock是否相同即可。

    相关文章

      网友评论

          本文标题:Xcode应用程序构建阶段

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