我正在寻找一种在iOS应用程序的构建过程中动态添加有关应用程序的信息的方法。
在测试过程中,很高兴知道我在我的设备上安装的应用程序何时构建,并且可能建立它的人也是一件好事。
我正在设想settings.app中的一个部分,该部分将提供用于调试目的的基本构建信息。我不想在每次构建之前手动更新构建信息文件 - 应该动态生成数据。
答案 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的更改,这可能会破坏设备构建时的配置。