Jenkins を使用して CI システムをセットアップしており、ビルド時に agvtool を使用してマーケティングおよび技術バージョンをバンプおよび設定しています。
ビルド時にバージョン管理を設定することに加えて、.plist にいくつかのカスタム値を設定すると非常に便利です。
これは可能ですか?
Jenkins を使用して CI システムをセットアップしており、ビルド時に agvtool を使用してマーケティングおよび技術バージョンをバンプおよび設定しています。
ビルド時にバージョン管理を設定することに加えて、.plist にいくつかのカスタム値を設定すると非常に便利です。
これは可能ですか?
「事前アクション」オプションを利用してスクリプトを実行することにより、ビルド時に Info.plist を編集できます。
UserDefinedVersionNumber という名前の Plist 内のキーをインクリメントするスクリプトの例を次に示します。
#!/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
その小さなボックスにスクリプトを直接入力できるはずですが、特に共有スクリプトの場合、スクリプトの編集と保守が面倒になる可能性があることがわかりました。