如何在Xcode Cloud与本地构建中共用构建号变量且避免安装错误?
解决Xcode Cloud与本地构建的构建号兼容问题
方案1:Info.plist默认值+Xcode Cloud预构建脚本
- 在项目的
Info.plist文件中,将CFBundleVersion(构建号)设置为固定默认值(比如1),确保本地构建时该字段不会缺失。 - 进入Xcode Cloud的构建配置,添加预构建脚本,用官方变量覆盖构建号:
Xcode Cloud构建时会自动替换为官方构建号,本地构建则保留默认值,无需手动修改配置。xcrun agvtool new-version -all "$XCODE_CLOUD_BUILD_NUMBER"
方案2:Build Settings条件配置
- 打开Xcode项目的Build Settings,找到
Versioning分类下的Current Project Version(对应CFBundleVersion)。 - 点击该设置项右侧的
+号,添加多环境配置:- 针对Xcode Cloud环境:设置值为
$(XCODE_CLOUD_BUILD_NUMBER) - 针对本地构建的
Debug/Release配置:设置值为固定默认值(如1),也可以自定义本地构建号变量(比如先定义LOCAL_BUILD_NUMBER变量再引用)
- 针对Xcode Cloud环境:设置值为
- Xcode会根据当前构建环境自动匹配对应值,本地构建时不会出现变量未定义导致的报错。
注意事项
- 确保
CFBundleVersion的值始终为字符串类型,避免类型不匹配的错误。 - 使用
agvtool的方案需要先在Build Settings中把Versioning System设置为Apple Generic。
内容的提问来源于stack exchange,提问作者dcrow
相关产品推荐
相关产品推荐

