我想在這裏實現了答案:自動增量編號xcode?
Better way of incrementing build number?
,但不能讓它正常工作。它錯誤地說錯誤2說「沒有編號在plist」
但是,如果我把我的plist內部編號,腳本清除它在下一個版本,然後同樣的事情發生了一遍。
任何想法?
我想在這裏實現了答案:自動增量編號xcode?
Better way of incrementing build number?
,但不能讓它正常工作。它錯誤地說錯誤2說「沒有編號在plist」
但是,如果我把我的plist內部編號,腳本清除它在下一個版本,然後同樣的事情發生了一遍。
任何想法?
下面是如何遞增的內部版本號:
在Target>摘要選項卡,設置初始構建#
然後使用這個腳本來增加內部版本號:
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
buildNumber=$(printf "%04d" $buildNumber)
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
或者如果你想以十六進制編號:
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$((0x$buildNumber))
buildNumber=$(($buildNumber + 1))
buildNumber=$(printf "%04X" $buildNumber)
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
我的解決方案如下:
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(echo $buildNumber | sed 's/0*//')
buildNumber=$(($buildNumber + 1))
buildNumber=$(printf "%04d" $buildNumber)
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
使用SED刪除前導零,增加值,並在打印回plist文件使用四位數零填充的數字。
這一個適用於我(Mac應用程序,10.9),而從NSBum的一個不... –
回到...... 000A後,它回滾到「0001」! –
因爲它只打印數字,所以沒有000A。我可以向你保證這個工作完美無瑕,因爲我現在編號爲2923,而我從0開始。在0009之後它變爲0010.在9999之後它變爲10000.仔細檢查你是否真的*使用我的代碼。 –
謝謝..可能是這個問題,我最初設置爲1.1.0.0構建,因爲我認爲這是如何構建版本格式化,做沒有小數似乎工作,但現在建立只是單個數字。我怎樣才能讓它成爲4位數的內部版本號格式? – ourmanflint
@ourmanflint我認爲上面的代碼片段會給你一個四位數的內部編號('%04d'和'%04X'),或者你的意思是一個四位數字,如1.1.0.0?取決於是否要增加內部版本號「CFBundleVersion」,版本號「CFBundleShortVersionString」或兩者。 – FluffulousChimp
應該刪除buildNumber = $((0x $ buildNumber))行,因爲它在十六進制數中轉換十進制數。 –