Mac Catalyst ITMS-4241 上传二进制文件时出错

Mac Catalyst ITMS-4241 error uploading binary

我有一个现有的 iOS 应用程序,其捆绑包 ID 为 X。我提前几天参加了聚会,就在 Xcode 11.4 发布之前(听说 Apple 现在将支持通用购买)我尝试创建一个 Mac Catalyst 版本,其中包含ID maccatalyst.X,并在 App Store Connect 中创建了单独的 Mac 记录。

然后邮件说 "now" 通用购买可用,所以我删除了单独的捆绑包 ID,而是将 MacOS 作为新记录添加到现有 iOS 应用程序包 (X)。然后我用 Xcode 11.4 重新编译,但是当我去上传 Catalyst 版本的存档时,我得到了这些错误:

ITMS-4241: "App is removed or deleted. Apps can't be validated or submitted while they're removed or deleted"

"Invalid AdamId: <Y>".

那个应用程序 ID Y 对应于单独的 MacOS 包,而不是 X 的应用程序 ID - 所以它正在尝试上传并附加我的存档到已删除的应用程序而不是实时应用程序。我觉得我完全按照 Apple 自己的页面上关于 offering universal purchase 下的 多个应用程序记录 :

的说明进行了操作

To offer universal purchase, remove all but one version from sale and add the other versions to the remaining app’s record.

这件事真的让我头撞墙了!

最终答案非常简单——我需要转到 "Build Settings" 并关闭 "Derive Mac Catalyst Product Bundle Identifier",这样包 ID 就变成了 X 而不是maccatalyst.X。我假设该设置适用于 想要 单独应用程序的人,但我认为当导入项目时必须为早于 Xcode 11.4 的 Catalyst 应用程序自动打开它第一次。

关闭该设置后,现在它可以正常上传到正确的位置。