【发布时间】:2011-11-19 08:48:22
【问题描述】:
在 Xcode 中,我想将项目包版本设置为 git 哈希,以在修订和构建之间创建唯一链接。
(我看过一些关于此的帖子,它们会增加每个版本的版本号,但对我来说这似乎太过分了,我希望有一个版本号,测试人员可以在发件人反馈时参考)。
我在构建阶段添加了以下内容作为运行脚本:
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion `git rev-parse --short HEAD`" *.plist
然后我读出了代码中的捆绑版本:
[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
但是,直到 下一个 构建,新的修订号才会出现在代码中。我认为这是因为在我的脚本运行时编译器已经读取了 plist 文件。
另外,由于 plist 在提交到 git 之后 更改了修订字符串,这会导致项目中出现烦人的差异,所以也许我毕竟不是那么聪明。
另一种方法是将修订号写入 git 忽略的文本文件 (build.txt)。但我仍然希望项目内部版本号也跟随 git。
有人知道这样做的绝妙方法吗?
【问题讨论】: