首页 > 解决方案 > 使用 CodeMagic 部署时如何增加 Flutter IOS 应用程序的内部版本号

问题描述

当我使用 Nevercode 拥有的 CodeMagic ( https://codemagic.io/ )部署 Flutter 应用程序时,我无法自动增加它的内部版本号。

我按照此页面上描述的步骤操作:https ://developer.nevercode.io/docs/incrementing-ios-app-version 。

他们建议的脚本是这样的:

DSYM_INFO_PLIST="${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist"
buildNumber=$NEVERCODE_BUILD_NUMBER
stringLength=${#buildNumber}

if [ $stringLength -ne 0 ]; then
    echo "Updating build number to $buildNumber"
    /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
    if [ -f "$DSYM_INFO_PLIST" ]; then
        /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $BUILD_NUMBER" "$DSYM_INFO_PLIST"
    fi
else
    echo "Missing build number, skip updating"
fi

在 Xcode 中添加此脚本后,我收到此错误:

Running pod install...                                             34.3s
Running Xcode build...
 ├─Assembling Flutter resources...                           6.1s
 └─Compiling, linking and signing...                         6.9s
Xcode build done.                                           30.3s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **


Xcode's output:
↳
    === BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug ===
    /Users/macbook/Library/Developer/Xcode/DerivedData/Runner-hdgyskbygbvchfagqudvhwidlraa/Build/Intermediates.noindex/Runner.build/Debug-iphoneos/Runner.build/Script-3590602C2
    2484D000061C91A.sh: line 15: syntax error: unexpected end of file
    Command /bin/sh failed with exit code 2

Could not build the precompiled application for the device.

在使用 Codemagic 部署时,有人可以说明如何正确增加 IOS 应用程序的内部版本号吗?它应该是在 Xcode 的构建阶段运行的脚本还是添加到 Codemagic 工作流程的构建步骤中的命令?

理想情况下,它不应该在我运行应用程序时增加,flutter run而是在我将其部署到 App Store Connect 时增加。

标签: iosfluttercontinuous-integrationapp-storebuild-numbers

解决方案


从 Codemagic文档中,他们向您展示了一些选项:

Here are some examples of the build arguments you can use to increment the app version. You can enter the build arguments in App settings > Build > Build arguments.

--build-name=2.0.$BUILD_NUMBER --build-number=$(($BUILD_NUMBER + 100))

--build-name=1.0.0 --build-number=$BUILD_NUMBER

--build-number=$(git rev-list HEAD --count)

在此处添加:

在此处输入图像描述

请注意,BUILD_NUMBER 中的构建数量是针对每个工作流单独计算的。


推荐阅读