ios - 使用 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 时增加。
解决方案
从 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 中的构建数量是针对每个工作流单独计算的。
推荐阅读
- amazon-web-services - 如何使用 AWS 为移动设备保护 HLS 流式传输?
- django - 如何在 Django 模板中呈现新的 HTML 内容?
- python - 如何从烂番茄中抓取超过一页的评论评论?
- python - 如何使用 python tkinter 接受用户输入并使用 selenium Web 自动化将其输入到浏览器结帐中?
- ag-grid - 在 ag-grid 中使用树数据时,可编辑列组不更新文本
- javascript - 是否有按名称访问元素的 css 计数器变量的 javascript 简写?
- laravel - FullCalendar - 无法检索 json 数据,并在日历上显示事件
- pandas - pandas_udf 错误(applyInPandas)说明元组格式
- regex - 我一直在尝试将特定路径中的所有 url 重定向为小写
- typescript - 使用重载函数处理联合,该函数在单个重载中不处理整个联合