更换新Mac用Xcode14上传MacOS应用至App Store Connect失败求助
解决Safari Web扩展MacOS包上传CFBundleVersion报错的方案
排查与修复步骤
1. 检查Xcode MacOS Target的Build Settings
- 打开Xcode项目,选中MacOS对应的Target,切换到Build Settings标签
- 搜索
Bundle version(对应底层的CFBundleVersion),查看当前值是否为1。如果是,直接修改为比34大的整数(比如35),同时保证Marketing Version(对外显示的版本号)保持1.6.7 - 注意Xcode14对版本字段的同步逻辑可能有变化,别混淆MacOS和iOS Target的配置
2. 检查扩展Target的Info.plist
- 你说没找到CFBundleVersion,可能遗漏了扩展Target的配置。找到MacOS对应的Safari Web扩展Target,打开它的Info.plist文件
- 右键选择Show Raw Keys/Values,查看是否存在
CFBundleVersion字段。如果缺失,手动添加该键,设置值为大于34的整数 - 同时确认这个扩展Target的
CFBundleShortVersionString值为1.6.7
3. 清理缓存后重新归档
- 按
Cmd+Shift+K清理项目缓存,再按Cmd+Option+Shift+K清理构建文件夹 - 关闭Xcode,删除
~/Library/Developer/Xcode/DerivedData下对应项目的文件夹 - 重新打开项目,重新生成归档后尝试上传
4. 核对Git同步的配置文件
- 确认MacOS Target的Build Settings是否通过Git同步完整。有时候Xcode的
.xcodeproj或.xcworkspace中的版本配置可能未同步过来 - 对比新旧Mac上的
.xcodeproj/project.pbxproj文件,搜索CURRENT_PROJECT_VERSION(对应CFBundleVersion)和MARKETING_VERSION字段,确保新Mac上的配置是1.6.7和大于34的数值
5. 确认App Store Connect的历史版本
- 登录App Store Connect,查看MacOS应用的所有已上传版本,确认之前的CFBundleVersion确实是34
- 注意CFBundleVersion只要是递增的整数即可,不需要和对外显示的1.6.7版本号对应,只要数值大于34就符合要求
内容的提问来源于stack exchange,提问作者Namaste
相关产品推荐
相关产品推荐

