gpt4 book ai didi

xcode - 如何从构建阶段脚本更改 Xcode build设置环境变量?

转载 作者:行者123 更新时间:2023-12-04 17:41:44 24 4
gpt4 key购买 nike

是否可以在脚本的构建阶段更改 Xcode BuildSettings 环境变量?

整个思路如下:我想发布一个带有单元测试的开源项目。我的测试需要敏感数据,如“登录名”和“密码”,所以我不能对它们进行硬编码。我想通过进程环境传递登录信息,以便能够执行如下操作:

let login = ProcessInfo().environment["login"]!

我找到了如何将变量从build设置环境传递到测试过程的方法:选择“测试”方案,转到环境变量并添加一个名为“login”和值为“$(login )”。如果我在build设置选项卡中为“登录”设置正确的值——它将像我预期的那样从 ProcessInfo 访问。

但我想要的是从 .gitignore 中的项目根文件夹脚本文件“SetupCreds.sh”设置“登录名”,因此将登录名和密码保存在其中是安全的。所以想法是:

  1. 添加构建阶段脚本
  2. 此脚本运行“SetupCreds.sh”
  3. "SetupCreds.sh"由类似 export login="MyLogin
  4. 的导出行组成

如果我在 Build Phase 脚本中添加 echo ${login},它会告诉我“login”确实具有值“MyLogin”。但是这个导出不影响Build Settings环境,只影响Build Phase脚本环境。

如何执行覆盖build设置环境变量的导出?或者也许有另一种方法可以做我想做的事?

最佳答案

我已经复制了@Vladex 在此处评论中提到的答案,以便于阅读。

  1. 在“复制资源”脚本之后添加以下脚本阶段。
    $file then
copy_target="${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.xctest/Tests.cfg"
cp -r $file $copy_target echo "Tests.cfg file copied to
${copy_target}" else echo "warning: No Tests.cfg file found. Some
tests will be ignored." fi
  1. 将“Tests.cfg”放入 gitignore。
  2. 创建“Tests.cfg”文件并用敏感或配置特定的值。
  3. 在测试中使用 Bundle.for(type(of:
    self).self)
    获取“Tests.cfg”url。

关于xcode - 如何从构建阶段脚本更改 Xcode build设置环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54218470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com