【发布时间】:2012-07-31 12:56:03
【问题描述】:
我能够在模拟器中显示我的应用程序的构建日期,但是每当我将应用程序存档并将其上传到 TestFlight,然后将其安装到设备上时,构建日期都不会显示。
这是我为显示构建日期所做的工作。
首先,我将 CFBuildDate 作为字符串添加到 myproject-info.plist
接下来,我在 Edit Scheme -> Build -> Pre-Actions -> Run Script Action 中添加了以下脚本:
infoplist="$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH"
builddate=`date`
if [[ -n "$builddate" ]]; then
/usr/libexec/PlistBuddy -c "Add :CFBuildDate $builddate" ${infoplist}
/usr/libexec/PlistBuddy -c "Set :CFBuildDate $builddate" ${infoplist}
fi
最后,使用以下代码从 plist 文件中获取构建日期:
NSString *build_date = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBuildDate"];
这会在模拟器中显示构建日期(虽然偶尔不会),但是当通过 TestFlight 部署应用程序时,构建日期永远不会显示。有什么想法吗?
提前致谢。
【问题讨论】:
-
尝试将脚本作为 构建步骤 运行,这样它就会一直运行,而不管您生成的构建类型如何。
-
为什么需要构建日期?
-
@trojanfoe - 所以我在构建阶段添加了与新运行脚本相同的脚本。将尝试将结果回复您。
-
@SimonH - 我知道这并不重要,但我公司的一些测试人员要求跟踪构建。
-
当然更新构建/版本号会更好+我知道这可行:)
标签: objective-c ios xcode build