如何配置项目的xcconfig文件来进行项目的多环境管理
创建对应的XCCONFIG

创建文件并且关联上项目

然后配置configurations的config文件关联
分别创建几个环境
- dev
- sit
- uat
- 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生成的头文件
本文详细介绍了如何在项目中配置xcconfig文件进行多环境管理,包括创建dev/sit与uat/prod环境的config,关联xcconfig,创建并使用不同的scheme,以及读取xcconfig中的配置值,如BaseURL。特别提到了解决release打包时可能遇到的问题,即需要为每个环境准备各自的release和debugxcconfig,并导入CocoaPods头文件。
1305

被折叠的 条评论
为什么被折叠?



