为什么我的Xcode archive版本号与设置的build版本号不一致?
React Native iOS归档后build号与info.plist配置不匹配的解决方法

- 优先级问题:Xcode构建设置的优先级高于info.plist硬编码值,如果你info.plist里的
CFBundleVersion(build号对应字段)是通过$(CURRENT_PROJECT_VERSION)这类变量赋值的,你需要修改Build Settings tab下的Current Project Version配置为305,仅修改info.plist里的硬编码值不会生效。 - 构建脚本覆盖:大部分RN项目会在Build Phases tab中集成自动版本号管理逻辑,比如关联git提交数自动计算build号、集成
react-native-version等第三方版本管理工具,你遇到的归档后build号固定为5的情况,大概率是脚本执行时覆盖了你手动修改的plist值,可以检查所有自定义构建脚本中是否有修改CFBundleVersion的逻辑。 - 多Target/Scheme配置错误:确认你当前归档所用的Scheme对应的Target,和你修改的info.plist所属Target一致,如果你改的是测试Target的配置,归档选的是生产Target,就会出现配置不匹配的情况。
- 缓存问题:先清空Xcode构建缓存(按住Option键点击顶部菜单栏Xcode -> 清空构建文件夹),删除ios目录下的build文件夹后重新执行归档操作。
如果以上操作都无法解决,可以导出归档包的info.plist和本地项目的info.plist做diff,确认是哪个阶段发生了值的修改
内容的提问来源于stack exchange,提问作者mediaguru
相关产品推荐
相关产品推荐

