在iOS应用程序中构建信息(构建日期/时间应用程序)

时间:2011-01-31 19:44:04

标签: ios iphone objective-c cocoa-touch build-process

我正在寻找一种在iOS应用程序的构建过程中动态添加有关应用程序的信息的方法。

在测试过程中,很高兴知道我在我的设备上安装的应用程序何时构建,并且可能建立它的人也是一件好事。

我正在设想settings.app中的一个部分,该部分将提供用于调试目的的基本构建信息。我不想在每次构建之前手动更新构建信息文件 - 应该动态生成数据。

2 个答案:

答案 0 :(得分:13)

您还可以使用标准宏__DATE__,这样会产生类似“Jun 25 1980”的字符串,当然还有正确的当前构建日期。

答案 1 :(得分:7)

您可以在Xcode中编写一个shell脚本构建阶段,该阶段在构建过程结束时运行。在此阶段,您可以使用defaults命令将数据写入任意文件。我已经使用这种技术写入Info.plist文件,但你可以写入你想要的任何文件[1]。

这是一个将当前git版本写入Info.plist的示例脚本:

infoplist="$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH"
gitversion="$(cd "$SRCROOT" && git describe --always --dirty 2>/dev/null)"
if [[ -n "$gitversion" ]]; then
    defaults write "${infoplist%.plist}" GitVersion "$gitversion"
fi

您应该能够将其调整为指向您想要的文件(例如您的设置包)并写下您想要的信息。

[1]如果你写Info.plist要小心,Xcode有一些错误可以阻止它在构建期间实现Info.plist的更改,这可能会破坏设备构建时的配置。