目前使用过的有2种:
1. 通过C语言特性的macro获取:
NSString *buildDate = [NSStringstringWithFormat:@"%s %s",__DATE__, __TIME__];
这是最简单有效的方法。
2. 通过XCode的scheme来完成,XCode种的scheme可以部署在编译前后可以自定义一些操作:
选择XCode->Product->Scheme->Edit Scheme->Build->Pre-actions->Add new shell(New run script action):添加以下shell,会在编译前自动将时间写入info.plist.
#Add by Dany.
#此部分暂时放在Pre-actions里面,若放在Post-actions里面会引起down真机签名验证失败问题.
#http://stackoverflow.com/questions/7944185/how-to-get-xcode-to-add-build-date-time-to-info-plist-file
echo "In the build time script run."
infoplist="$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH"
builddate=`date`
if [[ -n "$builddate" ]]; then
# if BuildDateString doesn't exist, add it
/usr/libexec/PlistBuddy -c "Add :BuildDate string $builddate" ${infop