文件内容
NAME = k
方式一:
func readXcconfigProperty(forKey key: String, xcconfigName: String) -> String? {
// 获取 .xcconfig 文件的路径
if let xcconfigPath = Bundle.main.path(forResource: xcconfigName, ofType: "xcconfig") {
do {
// 读取 .xcconfig 文件内容
let xcconfigContent = try String(contentsOfFile: xcconfigPath, encoding: .utf8)
// 查找包含指定键的行
let lines = xcconfigContent.components(separatedBy: .newlines)
for line in lines {
if line.contains(key) {
let components = line.components(separatedBy: "=")
if components.count == 2 {
return components[1].trimmingCharacters(in: .whitespacesAndNewlines)
}
}
}
// 如果未找到指定键,返回 nil
return nil
} catch {
// 处理读取文件失败的情况
print("Error reading \(xcconfigName).xcconfig: \(error)")
return nil
}
} else {
print("\(xcconfigName).xcconfig not found.")
return nil
}
}
调用
// 指定 .xcconfig 文件的名称(不包括文件扩展名)
let xcconfigName = "config"
// 读取 NAME 属性
if let name = readXcconfigProperty(forKey: "NAME", xcconfigName: xcconfigName) {
print("NAME: \(name)")
} else {
print("NAME not found.")
}
方式二:简便
1、直接在info.plist中增加:
<key>NAME</key>
<string>$(NAME)</string>
2、代码读取
if let name = Bundle.main.infoDictionary!["NAME"] as? String {
print("NAME: \(name)")
}