【发布时间】:2012-12-03 19:05:45
【问题描述】:
我正在使用 Jenkins 设置 CI 系统,并且正在使用 agvtool 在构建时调整和设置营销和技术版本。
除了在构建时设置版本控制之外,在 .plist 中设置几个自定义值会非常有用。
这可能吗?
【问题讨论】:
-
嗨,你能帮我解决这个问题吗?我想从 Jenkins 向 Xcode 发送一些自定义参数。
标签: ios xcode xcodebuild agvtool
我正在使用 Jenkins 设置 CI 系统,并且正在使用 agvtool 在构建时调整和设置营销和技术版本。
除了在构建时设置版本控制之外,在 .plist 中设置几个自定义值会非常有用。
这可能吗?
【问题讨论】:
标签: ios xcode xcodebuild agvtool
您可以在构建时利用“预操作”选项来编辑 Info.plist 以运行脚本。
这是一个示例脚本,它在 Plist 中增加一个名为 UserDefinedVersionNumber 的键
#!/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
您应该可以将脚本直接输入到那个小框中,但我发现编辑和维护它会变得很麻烦,尤其是对于共享脚本。
【讨论】: