有没有一种方法可以在构建阶段自动将自定义值写入bundle的.plist?

我正在使用Jenkins建立一个CI系统,并且正在使用agvtool在构建时碰撞并设置营销和技术版本。

除了在构建时设置版本控制之外,在.plist中设置几个自定义值非常有用。

这可能吗?

您可以通过利用“预执行”选项运行脚本来在构建时编辑Info.plist。

在此处输入图像描述

这是一个示例脚本,它增加了Plist中名为UserDefinedVersionNumber的Key

#!/bin/sh #Grabs info from plist plist=$SRCROOT"/"$INFOPLIST_FILE currentBuild=`/usr/libexec/PlistBuddy -c "Print :UserDefinedVersionNumber" "$plist"` #And changes it before writing out the plist again if [ -z "$currentBuild" ] then currentBuild=1 /usr/libexec/PlistBuddy -c "Add :UserDefinedVersionNumber string $currentBuild" "$plist" else currentBuild=$(($currentBuild + 1)); /usr/libexec/PlistBuddy -c "Set :UserDefinedVersionNumber $currentBuild" "$plist" fi 

您应该能够直接在该小框中键入脚本,但我发现编辑和维护它会变得很麻烦,尤其是对于共享脚本。