在iOS应用程序中构build信息(build立date/时间应用程序)

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

在testing过程中,知道什么时候在我的设备上安装了应用程序,并且可能由谁来构build,这将是一件好事。

我想象一下settings.app中的一个部分,它将提供用于debugging的基本构build信息。 我不想在每次构build之前手动更新构build信息文件 – 应该dynamic生成数据。

您可以在构build过程结束时运行的Xcode中编写shell脚本构build阶段。 在这个阶段,您可以使用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有bug,可以防止它在构build过程中实现Info.plist的改变,这可能在设备构build时破坏configuration。

你也可以使用标准的macros__DATE____DATE__这个string的当前date是正确的。