我正在寻找一种在iOS应用程序的构建过程中动态添加有关应用程序的信息的方法.
在测试期间,知道我在设备上安装的应用程序何时被构建,并且可能是谁构建它将是一个很好的知道是很好的.
我设想了settings.app中的一个部分,它将为调试提供基本的构建信息.我不想在每次构建之前手动更新构建信息文件 – 数据应该动态生成.
解决方法
您可以在构建过程结束时运行的
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]如果你写信给InfoIplist,Xcode有可能阻止它在构建期间改变Info.plist的错误,这可能会在进行设备构建时中断配置.