CFBundleVersion 不匹配 - CFBundleVersion 值与其包含的 iOS 应用程序的 CFBundleVersion 值不匹配

CFBundleVersion Mismatch - The CFBundleVersion value does not match the CFBundleVersion value of its containing iOS application

我是整个应用程序世界的新手,这是我第一次使用 X-code(我过去构建的应用程序,使用 Phonegap Build

总之 - 我设法创建了一个粘性页面(最终!)。现在我对它做了一些更改,但我无法为我的生活弄清楚如何上传它!推送时出现此错误:

CFBundleVersion Mismatch - The CFBundleVersion value '1' of extension 'Steampunk Junkies™ Sticker Pack.app/PlugIns/StickerPackExtension.appex' does not match the CFBundleVersion value '1.0.5.1' of its containing iOS application 'Steampunk Junkies™ Sticker Pack.app'.

CFBundleShortVersionString Mismatch - The CFBundleShortVersionString value '1.0' of extension 'Steampunk Junkies™ Sticker Pack.app/PlugIns/StickerPackExtension.appex' does not match the CFBundleShortVersionString value '1.0.5' of its containing iOS application 'Steampunk Junkies™ Sticker Pack.app'.

After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect.

我的配置如下:

我以前从未需要在 X-Code 中管理版本号 - 所以这完全有可能我在更改版本号时错过了一个重要的步骤。

有人可以帮帮我吗?它把我逼上墙了!

注意: 我正在使用 X-Code 8.2 beta(他们提供给您从开发者区域下载的版本)

更新: 非常感谢 shallowThought 帮助我解决这个问题!虽然我的设置看起来不像他发布的那样,但它让我环顾四周以找到他正在谈论的地方。最后我用"down arrow"找到了,如下圈出:

点击后,我可以查看包裹其他部分的信息。伙计,我不敢相信我错过了!

在“信息”选项卡下查看您是否也在那里进行了更新。

您可以更改内部版本号并保持相同的版本号,以便将其存档并提交到应用商店。

我认为这是一个 App Store 错误,由 StickerPackExtension 目标版本和构建版本与 Steampunk Junkies™ Sticker Pack 应用程序目标版本不同引起:

要修复错误,只需复制版本以确保两个目标的版本相同。

如果看不到目标,请单击此符号:


更新 Xcode 版本:

上传到 App Store 时,Xcode 的管理器现在有一个“管理版本和内部版本号”选项,默认情况下会处理此问题,默认为勾选:

这些设置可在整个项目中使用 $(APP_VERSION)$(APP_BUILD) 变量访问。现在,我们需要遍历每个目标的 Info.plist 文件并将构建版本值设置为 $(APP_BUILD) 和构建版本 String (short) to $(APP_VERSION)。从现在开始,您应该从 Build Settings

更改版本和内部版本号

更多信息:https://medium.com/@michaelmavris/how-to-synchronize-versions-and-build-numbers-across-different-targets-96683482afdc