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

Build Settings中Current Project Version未按预期更新问题求助

问题根因

你对两个参数的依赖逻辑理解完全反向,这是配置不生效的核心原因:

  • Xcode 构建设置中的 CURRENT_PROJECT_VERSION(即「Current Project Version」字段)是存储在项目 .pbxproj 文件中的源配置值,Info.plist 里的 CFBundleVersion(Bundle Version)是派生值。默认链路是 CURRENT_PROJECT_VERSION 赋值给 Info.plist 的对应字段,而非反向读取。你将「Current Project Version」设为 $(CURRENT_PROJECT_VERSION) 属于自引用配置,没有任何实际指向,自然会显示为空。
  • PlistBuddy 仅修改 Info.plist 文件,不会反向写入 .pbxproj 配置,CURRENT_PROJECT_VERSION 没有任何更新来源,自然无法同步。
适配需求的实现方案(无需fastlane/agvtool)

调整依赖方向即可实现单处修改、全局同步:

  1. 先将 Info.plist 中 CFBundleVersion 的值修改为 $(CURRENT_PROJECT_VERSION),让其从构建设置读取版本号
  2. 脚本不再修改 Info.plist,直接修改 .pbxproj 中的 CURRENT_PROJECT_VERSION 配置,参考脚本片段如下:
# 替换为你的实际项目路径、目标版本号
PROJ_PBX_PATH="./YourProject.xcodeproj/project.pbxproj"
TARGET_VERSION="2.0.4"
# 批量替换pbxproj中所有CURRENT_PROJECT_VERSION配置(如果多Target需要精准匹配可调整sed规则)
sed -i '' "s/CURRENT_PROJECT_VERSION = [0-9.]*;/CURRENT_PROJECT_VERSION = $TARGET_VERSION;/g" "$PROJ_PBX_PATH"

上述操作完成后,构建设置的「Current Project Version」和打包后产物的 Bundle Version 会自动保持一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:57:03