You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在iOS项目Swift代码中访问Build Settings自定义设置my_name的值?

嘿,这个需求我之前做项目时刚好实现过,给你两种靠谱的方法,按需选就行:

方法一:通过Info.plist桥接(推荐,兼容性好)

这是最常用也最稳妥的方式,因为Swift代码没法直接读取Build Settings里的自定义变量,得通过Info.plist做一层中转:

  • 打开项目的Info.plist文件,右键选择「Add Row」
  • 添加一个自定义键(比如叫MyAppName,名字随便取,自己能认就行),把它的Value设置为$(my_name)——这里的my_name就是你在User-Defined Settings里定义的变量名,Build的时候Xcode会自动把这个占位符替换成实际值
  • 回到Swift代码里,通过Bundle读取这个值:
if let myName = Bundle.main.infoDictionary?["MyAppName"] as? String {
    print("获取到的my_name值:\(myName)")
    // 这里就可以用myName变量做你需要的操作了
}
方法二:通过Swift编译宏直接注入

如果你的my_name是纯文本、没有特殊字符(比如空格、引号),也可以用编译宏的方式直接把值注入到代码里:

  • 打开项目的Build Settings,找到「Other Swift Flags」(在Swift Compiler - Custom Flags分类下)
  • 添加一行编译参数:-D MY_NAME=\"$(my_name)\"——注意这里的引号要转义,不然Xcode会解析出错
  • 之后在Swift代码里就可以直接用MY_NAME这个常量了:
let myName = MY_NAME
print("获取到的my_name值:\(myName)")

⚠️ 小提醒:方法二更适合简单字符串,如果my_name里有特殊字符(比如空格、中文),还是用方法一更稳妥,避免编译报错或者取值异常。

内容的提问来源于stack exchange,提问作者Leem.fin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:08:22