将 XCode 中的变量替换为 plist 文件(不是 Info.plist!)

Substitute variables in XCode for plist files (not Info.plist!)

我在 XCode 中有多个 PList 文件并通过 编辑器 -> 添加构建设置 -> 添加用户定义的设置 添加一些设置到 XCode 项目。当我在 Ìnfo.plist 中使用变量(例如 $(MY_COOL_SETTING)时,效果很好。但是我还有一些其他的 plist 文件,它们通过链接器命令嵌入到可执行文件中(通过 -sectcreate)。此 PList 文件中的变量将 NOT 被替换。有没有办法告诉 XCode 用链接器之前的值替换变量?

由于有人收藏了这个问题,我将post 我的解决方案放在这里。我现在手头没有来源或 XCode,但我会通过记忆尽可能做到最好。我所做的是添加一个自定义 BASH 脚本,将其添加为要在链接器之前执行的自定义构建步骤。您可以在 xcode 中执行此操作。这在这里得到了很好的解释:

https://www.hockeyapp.net/help/runscriptbuildphase/

在脚本中,您可以使用工具 PListBuddy 根据需要更改 PList。 PListBuddy 的用法在这里有很好的解释:

https://fgimian.github.io/blog/2015/06/27/a-simple-plistbuddy-tutorial/