美文网首页
Xcode 配置文件xcconfig

Xcode 配置文件xcconfig

作者: SamCheck | 来源:发表于2018-08-01 14:25 被阅读439次

    TARGETS:

    • TARGETS:定义了生成的唯一的product,PROJECT会包含一个或者多个TARGETS,每一个 TARGET将会产出一个product。TARGETS将构建该 product 所需的文件和处理这些文件所需的指令集,并且将这些指令集整合进编译器中。
    • 构建product的指令集在TARGETS 中的build settingsbuild phases中以表格的方式展示,你可以进行查看和编辑。
    • A target inherits the project build settings, but you can override any of the project settings by specifying different settings at the target level. TARGET 中的 Build Settings 参数继承自 PROJECT 的 Build Settings, 但是你可以在 TARGET 中修改任意 Build Settingss->Level 来重写 PROJECT 的Build Settings
    • TARGETS 依赖:如果一个TARGETS生产的product需要依赖另外一个TARGETS,可以在Build Phasess->Target Dependencies

    PROJECT:

    • PROJECT 是一个仓库,里面包含了所有的代码文件、资源文件和可以编译一个或者多个product的信息。
    • PROJECT 包含了一个或者多个TARGETS。
    • PROJECT 为其拥有的所有 TARGETS 定义了默认的 Build Settings

    Build Settings:

    Build Settings中包含了 product 生成过程中所需的参数信息。
    可以在 PROJECT->Build Settings->Level层和 TARGETS->Build Settings->Level层指定 Build Settings
    PROJECT 的 Build Settings 适用于 PROJECT 中的所有TARGETS,当TARGETS重写了Build Settings,编译是会以TARGETS中的Build Settings为准。

    导出项目中所有的Build Settings:

    $ cd 项目的根目录
    $ xcodebuild -list
    
    终端执行的命令结果.png
    $ xcodebuild -scheme "runtime_app" -showBuildSettings >> mynew.xcconfig
    
    mynew中含有Build Settings的所有参数.png
    删除第一行的说明.png

    创建

    image.png

    xcconfig 使用

    语法

    • 注释:
    • 没有多行注释
    • 单行注释以//开头。
    • 包含语句:
    • #include 开头,后面添加文件路径。#include "Debug.xcconfig"
    • 多层路径的#include:#include "<DEVELOPER_DIR>/Makefiles/CoreOS/Xcode/BSD.xcconfig"
    • 变量:
    • 开始以_、大写字母或者小写字母,可以含有:_0~9a~zA~Z
    • 在两个变量名或者变量与值之间使用=
    • 变量分配
    • 如果想使用变量默认值,就不用在此变量的=后面添加任何值。
    • 重写
    // Variable set in the project file
    OTHER_LDFLAGS = -ObjC
    
    // lib.xcconfig
    OTHER_LDFLAGS = -framework Security
    

    编译时,OTHER_LDFLAGS 会是-framework Security,-ObjC 会被-framework Security 重写。

    • 继承
    // Variable set in the project file
    OTHER_LDFLAGS = -ObjC
    
    // lib.xcconfig
    OTHER_LDFLAGS = $(inherited) -framework Security
    

    编译时,OTHER_LDFLAGS 会是-ObjC -framework Security

    思维扩展

    怎么通过脚本修改,build setting 中的配置数

    参考资料

    Xcode使用xcconfig文件配置环境
    Using xcconfig files for your XCode Project
    环境变量配置
    The Unofficial Guide to xcconfig files

    相关文章

      网友评论

          本文标题:Xcode 配置文件xcconfig

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