iOS:如何在新的XCode 11中自动升级CFBundleVersion和CFBundleShortVersionString? (我的旧脚本不再起作用)

问题描述 投票:-1回答:1

我有一个脚本可以升级我的版本(0.01 x 0.01)和我的版本(1 x 1)。 XCode 11不再起作用。enter image description here

这是我的剧本:

    #!/bin/bash
    rm -rf build

    Version=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$INFOPLIST_FILE")
    Version=$(echo "scale=2; $Version + 0.01" | bc)

    Build=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
    Build=$($Build + 1)

    /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $Build" 

    "$INFOPLIST_FILE"
        if [ "${CONFIGURATION}" = "Release" ]; then
        /usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $Version" "$INFOPLIST_FILE"    
fi 

这里是我现在要在Xcode中构建或存档时出现的错误消息:

详细

无法安装请求的应用程序域:NSPOSIXErrorDomain代码:22失败原因:应用程序的Info.plist不包含CFBundleShortVersionString。恢复建议:确保捆绑包中包含CFBundleShortVersionString。用户信息: {bundleURL =“ file:///Users/olosta/Library/Developer/Xcode/DerivedData/Formbox-cxaxehrhmxqaqabbijmxvasgmhwn/Build/Products/Debug-iphonesimulator/Formbox_Renault_BusinessDays.app/”;}

我检查了ticket,但对脚本没有帮助

如果进入XCode / General / Identity,则可以看到XCode中填写了“版本”和“内部版本”,enter image description here,但是如果我通过手动打开它来检查info.plist,则两个值都是空

   <key>CFBundleVersion</key>               <string></string>    
   <key>CFBundleShortVersionString</key>    <string></string>

如果直接在plist中手动填充它们,则可以,但是似乎XCode的值不再存储在该字段中了吗?您怎么看?

提前感谢。

ios xcode versioning run-script
1个回答
0
投票

您可以尝试:

versionNumber="$MARKETING_VERSION"
buildNumber="$CURRENT_PROJECT_VERSION"

来自this

© www.soinside.com 2019 - 2024. All rights reserved.