script 修改 plist遇到的問題

一個sh腳本每次build的時候動態修改info.plist文件 達到動態更改版本號的目的 可是估計是由於緩存的緣故 每次只有clean以後再運行纔會修改爲功 看script執行的log 好像是先修改以後而後xcode去copy了一份舊的plist給覆蓋了。。。 可是clean以後卻沒有這個copy操做 這是爲何 ????json

提出臨時解決辦法  刪掉當前app目錄下的plist的文件 跑過去修改原plist文件 哈哈哈  每次強迫xcode去copy xcode

 

 

 echo ${SRCROOT} FILE_PATH=${SRCROOT}/../version.json info_plist="$CONFIGURATION_BUILD_DIR/$PRODUCT_NAME.app/Info.plist" echo ${info_plist} echo $info_plist echo "Removing Info.plist from build dir in order to force rebuild of it and reading of correct xcconfig variables, plist path $info_plist" rm "$info_plist" publicNet=$(cat $FILE_PATH | jq .PublicNet) vCode=$(cat $FILE_PATH | jq .IOS.vCode) vName=$(cat $FILE_PATH | jq .IOS.vName | sed 's/\"//g') if [ "$publicNet" == "false" ];then deployKey=$(cat $FILE_PATH | jq .IOS.CodePushDeploymentKey_staging | sed 's/\"//g') elif [ "$publicNet" == "true" ];then deployKey=$(cat $FILE_PATH | jq .IOS.CodePushDeploymentKey_production | sed 's/\"//g') else deployKey=$(cat $FILE_PATH | jq .IOS.CodePushDeploymentKey_staging | sed 's/\"//g') fi echo ${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH} echo ${TARGET_BUILD_DIR}/${INFOPLIST_PATH} _publicNet=$(/usr/libexec/PlistBuddy -c "Print :PublicNet" "${SRCROOT}/$TARGETNAME/Info.plist") _vName=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "${SRCROOT}/$TARGETNAME/Info.plist") _vCode=$(/usr/libexec/PlistBuddy -c "Print :VersionCode" "${SRCROOT}/$TARGETNAME/Info.plist") _vDeployKey=$(/usr/libexec/PlistBuddy -c "Print :CodePushDeploymentKey" "${SRCROOT}/$TARGETNAME/Info.plist") echo "current PublicNet value is : $_publicNet" echo "current version name is : $_vName" echo "current version code is : $_vCode" echo "current deploy key is : $_vDeployKey"
相關文章
相關標籤/搜索