ios - iOS:如何在 Xcode 11 中自动升级我的 CFBundleVersion 和我的 CFBundleShortVersionString?(我的旧脚本不再工作了)
问题描述
我有一个脚本升级了我的版本(0.01 x 0.01)和我的构建(1 x 1)。它不再适用于 Xcode 11。
这是我的脚本:
#!/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/";
}
我检查了那张票,但它对我的脚本没有帮助
如果我进入 Xcode/General/Identity,我可以看到 Xcode 中填写了“版本”和“构建”, 但是如果我通过手动打开它来检查我的 info.plist,这两个值都是空的
<key>CFBundleVersion</key> <string></string>
<key>CFBundleShortVersionString</key> <string></string>
如果我直接在 plist 中手动填充它们,它可以工作,但似乎 Xcode 中的值不再存储在该字段中?你怎么看?
解决方案
推荐阅读
- c++ - 为什么使用 SSL 和 POCO 发送多部分表单数据返回状态 411?
- javascript - 如何从 reactJS 中的另一个文件导入 2,3 对象
- python - 在某些字符周围填充
- frontend - Spring Data Rest Frontend 深度链接
- javascript - 延迟输入变化角度
- javascript - 制作数组组时 .push() 的困难
- java - 如何使在运行 Activiti Modeller 时,在我的应用程序中,计时器之后的任务和脚本任务服务不会导致错误?
- javascript - 将 Supertest 与 Mocha 结合使用,并具有一致的基本 api url
- sql - 将红移列拆分为多列
- angular - 如何在 AngularFire Observable 中引发错误