美文网首页
xcconfig 指南

xcconfig 指南

作者: 凯歌948 | 来源:发表于2021-01-26 13:54 被阅读0次

    xcconfig文件的语法比较简单,每个配置文件都由一系列键值分配组成,这些键值分配有一下语法:

    BUILD_SETTING_NAME = value

    注释

    xcconfig文件只有一种注释方式"\"

    include导入其他设置

    在创建xcconfig文件的时候可以根据需求创建多个,也就是说可以通过include关键字导入其他的xcconfig内的配置。如:

    include "Debug.xcconfig"

    在搜索引入的文件时如果是以"/"开头,代表绝对路径。如:

    include "/Users/ws/Desktop/Pods/Target Support Files

       /Pods-LoginApp/Pods-LoginApp.debug.xcconfig"
    

    或者通过相对路径,以"${SRCROOT}"路径为开始:

    include "Pods/Target Support Files/Pods-LoginApp/Pods-LoginApp.debug.xcconfig"

    变量

    变量定义按照OC命名规则,仅由大写字母,数字,下划线,组成。字符串可以是 " ,也可以是 ' 。变量有3种特殊情况:

    一.在xcconfig中定义的变量与Build Settings的一致,那么会覆盖。可以通过$(inherited)让当前变量继承变量原有值。如:
    OTHER_LDFLAGS = -framework SDWebImage
    OTHER_LDFLAGS = $(inherited) -framework AFNetworking
    // OTHER_LDFLAGS = -framework SDWebImage -framework AFNetworking
    **注意:有部分变量不能通过xcconfig配置到Build Settings中,如:配置PRODUCT_BUNDLE_IDENTIFIER不起作用**
    
    二.引用变量,$() 和 ${}两种写法都可以
    VALUE=Cat
    TEACHER=$(VALUE)-${VALUE}
    
    三.条件变量,根据SDK,  Arch,  Configration对设置进行条件化,如:
    //指定'Configration'是'Debug'
    //指定'SDK'是模拟器,还是iphoneos*,macosx*等
    //指定生效架构是'x86_64'
    OTHER_LDFLAGS[config=Debug][sdk=iphonesimulator*][arch=x86_64]=$(inherited) -framework "Cat"
    **注意:在Xcode 11.4及以后版本,可以使用default,指定变量为空时的默认值:$(BUILD_SETTING_NAME:default=value)**
    

    优先级(由高到低):

    1.手动配置Target Build Settings
    2.Target中配置的xcconfig文件
    3.手动配置Project Build Settings
    4.Project中配置的xcconfig文件

    相关文章

      网友评论

          本文标题:xcconfig 指南

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