我有一个使用预编译头文件处理的plist,其中有“变量”VERSION_STRING在CFBundleGetInfoString等字段中使用了几次,即键CFBundleGetInfoString的值为:MyProduct VERSION_STRING Copyright©2009 MyCorp
在MyHeader.h中(设置为Info.plist前缀标题,我希望能够将VERSION_STRING构建为MAJOR.MINOR.PATCH.BUILD格式
#define MAJOR 1
#define MINOR 0
#define PATCH 0
#define BUILD 23
出于某种原因,我似乎无法做到这一点。我可能只是有其中一个时刻
答案 0 :(得分:1)
事实证明,实际上有关于此的Apple Tech Note以及我遇到的问题的解决方案。因此,对于任何可能遇到此问题并遇到相同问题的人,我都会查看Technical Note TN2175: Preprocessing Info.plist files in Xcode Using the C Preprocessor
答案 1 :(得分:0)
获取你的plist文件并用额外的扩展名重命名(也许是P?)。将#include "MyHeader.h"
添加到文件的开头,并使用C预处理器(通常为cpp
)在构建中对其进行预处理。您可能需要过滤掉额外的#
行,但我不明白为什么它不起作用。
默认情况下,cpp
应输出到stdout,因此添加这样的命令可能会正常工作:
cpp myplist.plist.P | grep -v '^#' > myplist.plist