【发布时间】:2011-12-18 03:42:31
【问题描述】:
终于...经过几年的观看和一个月的参与,我有机会问你们一个我自己的问题。
我的老板不相信我(或任何流程)会增加内部版本号,他还希望在应用程序中加入构建日期和时间。我想把它放到通常的 Info.plist 文件中。
我发现了这个相关的问题:
Build information in iOS Application (date/time app was built)
根据那里的答案,我进入方案编辑器并将以下脚本添加到构建阶段的“操作后”部分:
infoplist="$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH"
builddate=`date`
if [[ -n "$builddate" ]]; then
defaults write "${infoplist%.plist}" BuildDate "${builddate}"
fi
在 XCode 中,我的方案编辑器窗口如下所示:
(来源:myke at maniac.deathstar.org)
不幸的是,BuildDate 永远不会被写入 Info.plist。
将“${builddate}”更改为“$builddate”也不起作用。我在脚本中添加了这一行:
echo "build date is $builddate" > /tmp/result.txt
并且日期在写出的文件中看起来非常好。从上面的脚本中将字符串写入 Info.plist 文件可以正常工作,但很烦人。
那么,总结一下,如何获取要添加到Info.plist文件中的日期呢?
【问题讨论】:
-
我没有任何问题将您的脚本用作发布操作,只是它最终使签名无效。似乎作为构建阶段而不是后期操作可以正常工作,无论您是否共享工作区,这也有利于工作。它也比 pre-action 更有效,因为 pre-action 会被对真实 info.plist 的更改所影响,从而导致构建时覆盖。
标签: shell xcode4 nsuserdefaults xcode4.2 info-plist