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

XCode 13.4.1构建应用时Info.plist中Bundle Version字符串为空是何原因

Xcode 13.4.1构建时Info.plist中Bundle Version自动清空的原因
  • 构建设置优先级逻辑覆盖:Xcode 13版本起苹果调整了Info.plist的默认生成规则,只要项目开启了GENERATE_INFOPLIST_FILE(生成Info.plist文件)构建设置,构建流程就会优先从Build Settings的对应配置项读取版本信息,自动写入最终打包产物的Info.plist,源Info.plist里手动填写的CFBundleVersion(即Bundle Version字段)会被直接覆盖。13.4.1版本对该逻辑的校验更严格,如果Build Settings里对应CURRENT_PROJECT_VERSION(当前项目版本号,和Bundle Version一一对应)配置为空,构建后写入的字段就是空值,表现为原有内容被自动清空。
  • 旧项目升级的配置残留问题:如果是从Xcode 12及更早版本升级到13.4.1的项目,源Info.plist里手动保留了CFBundleVersion字段,但没有同步在Build Settings里配置对应的版本值,Xcode构建时会先清除plist里原有的手动填写字段,再尝试读取Build Settings的空值写入,最终就会出现Bundle Version字符串被清空的现象。
  • 自定义构建逻辑触发校验置空:如果项目中添加了自定义构建阶段脚本,在Xcode处理Info.plist的环节前后修改CFBundleVersion字段,写入的内容不符合Bundle Version必须为数字+点号组成的字符串规则,13.4.1版本新增的字段合法性校验会直接把不符合规则的值置空,也会触发该问题。

参考截图:
info plist

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 17:01:40