如何配置项目的xcconfig文件来进行项目的多环境管理

如何配置项目的xcconfig文件来进行项目的多环境管理

创建对应的XCCONFIG

在这里插入图片描述
创建文件并且关联上项目
在这里插入图片描述
然后配置configurations的config文件关联
分别创建几个环境

  1. dev
  2. sit
  3. uat
  4. prod

关联xcconfig文件

在这里插入图片描述

创建2个configurations ,dev 和 sit 复用 debug , uat和prod 复用release
然后一一关联上上一步中创建的xcconfig文件

创建scheme

在这里插入图片描述
分别创建4️⃣个scheme来读取对应环境下xcconfig文件,这样就完成不用环境的关联和隔离

读取xcconfig文件上的配置

请添加图片描述
配置一个baseurl 这里用了百度
然后去Info.plist读取baseurl ,并且打印出来

读取配置到plist文件

在这里插入图片描述

打印baseurl

import Foundation
class LocalReader: NSObject{
    
    
    
    static func readLocalPlist(key: CustomerKeyword) -> String{
    
    
        let path = Bundle.main.path(forResource: "Info", ofType: "plist")!
        let infoDic = NSDictionary(contentsOfFile: path)!
        let result = infoDic["\(key.rawValue)"] as? String ?? ""
//        Console.log("readLocalPlist:"+result)
        return result
    }
    
}

创建一个localreader类去处理这个模块的功能 , 通过输入关键字来读取对应值 并且打印出来
到此 xcconfig的配置和值的读取就处理完成了,简单说明一下读取的生命周期 。其实就是在项目编译的过程会读取xcconfig的值并且关联到Info.plist键值上去。然后我们就可以读取关联到.plist上的key读取到我们在xcconfig上配置的值。
如果配置了xcconfig以后发现pod出现问题请移步看看我上一个文章。

关于按照教程XCCONFIG 配置以后无法打release包的坑

按照上述配置 的同学在打release包遇到报错可以看这里 报错原因是因为 我们的打包需要一个release xcconfig 和一个debug的xcconfig 所以 我们在创建的时候 要每一个环境 都创建它们的 release 和 debug config 。 如 SIT-DEBUG.xcconfig 和 SIT-RELEASE.xcconfig 两种。
并且按照两种链接分别导入cocoapods生成的头文件

猜你喜欢

转载自blog.csdn.net/lingjunjie/article/details/134547027