You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QT开发iOS应用.pro配置无法生成版本号导致部署失败怎么解决?

问题解决方案

问题原因

你自定义了QMAKE_INFO_PLIST指向本地的Info.plist文件后,Qt默认自动注入版本号的逻辑会失效。未自定义plist时Qt会默认补全1.0.0的版本信息,自定义plist后需要你手动配置版本号和plist的关联逻辑。

可行配置方案

方案1:修改自定义plist添加变量占位(最常用)

打开你$$PWD/ios/Info.plist文件,新增/修改两个版本相关的key,值设置为qmake变量占位:

<key>CFBundleShortVersionString</key>
<string>$(QMAKE_SHORT_VERSION)</string>
<key>CFBundleVersion</key>
<string>$(QMAKE_FULL_VERSION)</string>

之后在.pro的ios配置块中添加版本配置即可:

ios {
    # 其他原有配置保留
    QMAKE_SHORT_VERSION = 1.0.0 # 对应App对外显示的版本号
    QMAKE_FULL_VERSION = 100 # 对应内部构建号,可每次构建递增
}

方案2:直接使用全局VERSION变量

无需修改plist,直接在.pro文件中添加全局VERSION配置即可,Qt会自动将值映射到iOS的两个版本key中:

VERSION = 1.0.0

如果需要区分对外版本和构建号,可以额外补充QMAKE_TARGET_BUILD_VERSION = 100配置。

方案3:直接向plist追加版本配置

如果不想修改原有自定义plist,可以在.pro的ios配置块中用QMAKE_INFO_PLIST_APPEND直接追加版本配置:

ios {
    # 其他原有配置保留
    QMAKE_INFO_PLIST_APPEND += \
        <key>CFBundleShortVersionString</key> \
        <string>1.0.0</string> \
        <key>CFBundleVersion</key> \
        <string>100</string>
}

生效验证

修改完配置后,必须先清空原有构建目录,再重新执行qmake、构建操作,避免旧缓存导致配置不生效。重新生成的Xcode项目就会自动携带正确的版本号,无需手动修改。

内容的提问来源于stack exchange,提问作者user7179690

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:18:03