美文网首页iOS常用iOS object-C开发
iOS 使用Generator.xcconfig配置环境

iOS 使用Generator.xcconfig配置环境

作者: CarrySniper | 来源:发表于2020-05-19 22:52 被阅读0次

    一、创建三个Configuration Settings File文件,分别命名

    1.Generator.xcconfig公用编辑器配置,预编译定义
    2.Debug.xcconfig开发环境配置
    3.Release.xcconfig$生产环境配置

    image.png

    二、配置Generator.xcconfig文件

    预处理器定义,格式照着写就行:两个参数,后面是自动取相应配置文件的值,每组以空格间隔开来。
    参数1:IS_PRODUCATION
    参数2:SERVER_HOST

    //  Generator.xcconfig
    
    GCC_PREPROCESSOR_DEFINITIONS = $(inherited) IS_PRODUCATION='$(IS_PRODUCATION)' SERVER_HOST='$(SERVER_HOST)'
    

    三、配置Debug.xcconfig和Release.xcconfig文件

    其实后面可能会报错,和Pods资源文件有冲突,所以后面还要加上一行代码,重点是URL链接写法。

    //  Debug.xcconfig
    
    /// 是否生产环境 - 不是
    IS_PRODUCATION = NO
    
    /// 服务器
    SERVER_HOST = @"https:/$()/www.测试服.com/"
    
    /// 引入Generator.xcconfig文件
    #include "Generator.xcconfig"
    
    //  Release.xcconfig
    
    /// 是否生产环境 - 是
    IS_PRODUCATION = YES
    
    /// 服务器
    SERVER_HOST = @"https:/$()/www.线上服.com/"
    
    /// 引入Generator.xcconfig文件
    #include "Generator.xcconfig"
    

    四、配置对应模式下的.xcconfig文件,操作如图:

    PROJECT -> info -> Configurations,展开对应项最里层

    image.png

    五、查看配置是否正确,操作如图:

    1、TARGETS -> Build Settings 搜索“Preprocessor Macros”项
    2、TARGETS -> Build Settings 拉到最下面,显示“User-Defined”项

    image.png image.png

    六、添加对应Scheme文件,以后选择编译运行就可以指定配置环境了

    image.png
    image.png
    image.png

    七、完成,分别测试取值情况

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        NSLog(@"IS_PRODUCATION = %@ SERVER_HOST = %@", IS_PRODUCATION ? @"生产环境" : @"开发环境", SERVER_HOST);
        return YES;
    }
    

    打印结果:

    IS_PRODUCATION = 开发环境 SERVER_HOST = https://www.测试服.com/
    IS_PRODUCATION = 生产环境 SERVER_HOST = https://www.线上服.com/
    

    ==============================================================

    其他:

    编译运行如果遇到报错提示:
    error: unable to parse contents of file list '/Target Support Files/Pods-OCDevelopment/Pods-OCDevelopment-resources-Debug-input-files.xcfilelist'
    

    那需要在第三步配置Debug.xcconfig和Release.xcconfig文件时,都加入一行特殊代码:

    /// 项目名称换成自己的OCDevelopment要换
    /// 如:#include "Pods/Target Support Files/Pods-OCDevelopment/Pods-OCDevelopment.debug.xcconfig"
    #include "Pods/Target Support Files/Pods-项目名/Pods-项目名.debug.xcconfig"
    /// 引入Generator.xcconfig文件
    #include "Generator.xcconfig"
    
    修改应用显示名称、包名

    1、配置Debug.xcconfig和Release.xcconfig文件添加属性:

    /// 显示名称
    DISPLAY_NAME = OC开发版
    
    /// 包名
    BUNDLE_IDENTIFIER = com.company.dev
    

    2、在工程文件Info.plist里面修改对应项:


    image.png

    3、完成——如果多次修改,请记得清除缓存才生效。

    相关文章

      网友评论

        本文标题:iOS 使用Generator.xcconfig配置环境

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