Xcode:如何编译环境变量并在Swift中引用它们?

我在CI / CD平台上定义了一个API密钥,如下所示:

export API_KEY="XXXXXXXXXX"

是否有一种方法可以通过构建以某种方式编译此变量,以便可以在Swift中引用它,而不必担心在运行时在二进制环境中定义该变量?我显然不能使用ProcessInfo.processInfo.environment,因为API密钥仅在我的CI / CD环境中定义。我想用密钥编译二进制文件,以便在分发应用程序时可以使用该密钥。

我的用例是我想避免将API密钥放在我的git存储库中,而是在生成生成时从CI / CD平台获取它。如果有一种方法可以注入环境变量,然后将其编译为二进制文件的一部分,那将是理想的选择。

Teresa719 回答:Xcode:如何编译环境变量并在Swift中引用它们?

您可以在Xcode构建部分中执行预动作脚本 Xcode pre-action build

将使用以下代码修改占位符:

let apiKey : String = "<# THE_API_KEY #>"
  

直接在源文件中修改代码

每次构建之前。

如果在存档前操作中有生产密钥,则可以添加另一个

示例

apiKey变量放置在您要访问的文件中

Pre-action中执行脚本来替换THE_API_KEY之类的占位符文本

脚本将如下所示

 cat $PROJECT/$PATH_TO_FILE | sed 's/THE_API_KEY/YOUR_KEY' > $PROJECT/$PATH_TO_FILE
  

别忘了清除代码以避免在提交时放入API密钥

使用Post-action

cat $PROJECT/$PATH_TO_FILE | sed 's/YOUR_KEY/THE_API_KEY' > $PROJECT/$PATH_TO_FILE
本文链接:https://www.f2er.com/3157164.html

大家都在问