在我的主要目标 .plist
文件中,我有这个:
<key>HIHomePage</key>
<string>$(MY_BASE_URL)</string>
我在每个我拥有的环境(开发、登台、生产)中都使用了一个构建模式,因此我在模式的构建步骤中的环境变量中设置了 MY_BASE_URL
。
然后在代码中我有这个:
NSString *baseURL = [[NSBundle mainBundle] objectForInfoDictionaryKey"HIHomePage"];
原来是一个空字符串,但是诸如 CFBundleName
之类的东西正在被拾取。
我在这里错过了什么?
要从环境变量中获取值,请使用以下代码
NSString *baseURL = [[[NSProcessInfo processInfo] environment] objectForKey"MY_BASE_URL"];
引用:http://rosettacode.org/wiki/Environment_variables#Objective-C
要从方案中添加 plist 中的项目,您应该添加一个名为 MY_BASE_URL
的用户定义的build设置,并根据您的方案输入值。然后在 .plist
文件中使用它。
对于添加用户定义的build设置, 选择目标 从编辑器菜单 > 添加设置 > 用户定义的设置
关于ios - 代码未通过 plist 获取环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35078912/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |