Info.plist值为C++ #define

Rob*_*gar 6 c++ ios c-preprocessor

在C++ iOS项目(或任何其他Mac OS)中,是否有一种简单的方法可以为Info.pList设置和预处理器宏形式的代码提供值?

理想情况下,我希望有这样的东西

C++代码:

#define MY_VERSION_STRING "1.0"
Run Code Online (Sandbox Code Playgroud)

的Info.plist

CFBundleVersion: ${MY_VERSION_STRING}
Run Code Online (Sandbox Code Playgroud)

或者,有没有办法从c ++中的.pList获取值?(无需手动将.pList解析为xml.)

Ale*_*eem 2

可能不是最好的解决方案,但您可以在构建脚本中使用 /usr/libexec/PlistBuddy 实用程序来生成一个 .h 文件,其中包含带有从 plist 中提取的值的定义。

要从 plist 输出值:

/usr/libexec/PlistBuddy -c 'Print :Path:To:Key' filename.plist
Run Code Online (Sandbox Code Playgroud)