1

ビルドフェーズに実行スクリプトがあり、リリースビルドを実行するたびにビルドバージョンを自動インクリメントします。期待どおりにinfo.plistファイルとroot.plistファイルをインクリメントします。ただし、Organizerでは、アーカイブにリストされているバージョンは、常にスクリプトを実行する前のバージョンの番号です(予想より1つ少ない)。実行スクリプトを、ターゲットの依存関係の後、ソースのコンパイル前に実行するように注文しました。

これが私のビルドスクリプトです。

if [ $CONFIGURATION == Release ]; then
echo "Bumping build number..."
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"

productVersion=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$INFOPLIST_FILE")

IFS='.'
set $productVersion
MAJOR_VERSION="${1}.${2}"
buildNewVersion="${MAJOR_VERSION}.${buildNumber}"

/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $buildNewVersion" "$INFOPLIST_FILE"

/usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:9:DefaultValue $buildNewVersion" SmartView/Resources/Settings.bundle/Root.plist
fib
4

1 に答える 1

0

このスクリプトがターゲットの依存関係の後に実行されている場合は、どこかにバージョンを含む依存関係があるに違いありません。依存関係の前にこれを実行してみましたか?

于 2013-01-25T05:24:25.150 に答える