Xcode使用Run Script腳本

由于某次上線,忘記修改Display Name,鑄成大錯。
Xcode可以使用腳本,在打包時修改Display Name、Bundle Id等信息。

一、在Build Phases添加腳本

選擇Targets->Build Phases->+
Targets->Build Phases->+

Run Script在↓
Run Script
  1. 修改BundleVersion
    1.1 按時間設(shè)置Build Number
buildNumber=$(date "+%Y%m%d%H")
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"

1.2 自增長Build Number

plist=${PROJECT_DIR}/${INFOPLIST_FILE}
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${plist}")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${plist}"
  1. 按照Debug-Release設(shè)置Display Name和Bundle ID
f [ $CONFIGURATION == Release ]; then
bundleID="com.abc.mobile.YourApp"
displayName="你的App"
else
bundleID="com.abc.develope.mobile.YourApp"
displayName="你的App-測試"
fi
/usr/libexec/Plistbuddy -c "Set :CFBundleIdentifier $bundleID" "${plist}"
/usr/libexec/Plistbuddy -c "Set :CFBundleDisplayName $displayName" "${plist}"
  1. 查看log
    打印log:
echo "$displayName :$bundleID"

查看log

二、在Scheme里添加腳本


Edit Scheme... -> Build -> Pre-actions

在這里寫可以不用寫判斷Debug或Release模式

三、錯誤
可能會出現(xiàn)錯誤:


錯誤一.png

編譯前clean一下,就可以解決了。
這是由于PRODUCT_BUNDLE_IDENTIFIER并沒有改過來導(dǎo)致的。
所以在打包上傳之前,需要clean一下。

參考資料:

  1. Xcode添加RunScript腳本_培根芝士的專欄
  2. Xcode打包,僅archive時通過Run Script腳本進(jìn)行build號自增
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容