我有一个使用预编译的标头文件处理的PLIST,其中有几次“可变” version_string在CfBundlegetInfoString等字段中使用了几次,即关键CFBundleGetInfoString的值是:myProduct version_string vordy_string ymycorp in 2009 mycorp©2009 mycorp©2009 mycorp©2009 mycorp©2009 mycorp©©2009 mycorp©©2009 mycorp©2009 mycorpt

在myheader.h中(这是一组为info.plist前缀标头

#define MAJOR 1
#define MINOR 0
#define PATCH 0
#define BUILD 23

由于某种原因,我似乎无法做到这一点。我可能只是有一个时刻之一

有帮助吗?

解决方案

事实证明,实际上有一个苹果科技注释,也有解决我遇到的问题的解决方案。因此,对于任何可能遇到的人,并且有同样的问题,我都会检查一下 技术注释TN2175:使用C预处理器中的XCode中的PrepRocessing Info.plist文件

其他提示

将您的PLIST文件命名为额外的扩展名(也许是P?)。添加 #include "MyHeader.h" 到文件的开头,并使用C预处理器进行预处理(通常 cpp)。您可能需要过滤额外 # 台词,但我不明白为什么它不起作用。

默认, cpp 应该输出到stdout,因此添加这样的命令可能正常:

cpp myplist.plist.P | grep -v '^#' > myplist.plist
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top