我有一个脚本,可以按0.01的版本和1的构建号进行升级。它在Xcode 11上无法正常工作。
这是我的脚本:
```html ```
这是我的脚本:
```html ```
#!/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 /常规/身份,我可以看到“版本”和“构建”在Xcode中已经填好, 但是如果我手动打开info.plist检查,这两个值都是空的。
<key>CFBundleVersion</key> <string></string>
<key>CFBundleShortVersionString</key> <string></string>
如果我直接在plist文件中手动填写,它能够工作,但似乎来自Xcode的值不再存储在这些字段中了?你觉得呢?
$CONFIGURATION
如何,都不设置CFBundleVersion
和CFBundleShortVersionString
呢? - trojanfoeInfo.plist
。在归档时只需增加Version
,但始终要设置它。 - trojanfoe