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

Posted

技术标签:

【中文标题】Mac Catalyst ITMS-4241 错误上传二进制文件【英文标题】:Mac Catalyst ITMS-4241 error uploading binary 【发布时间】:2020-04-30 08:35:29 【问题描述】:

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

然后电子邮件删除了“现在”通用购买可用,所以我去删除了单独的捆绑 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 自己页面上关于 Multiple App Records 下offering universal purchase 的说明进行操作:

要提供通用购买,请从销售中删除除一个版本之外的所有版本,并且 将其他版本添加到剩余应用的记录中。

在这个问题上我真的把我的头撞到墙上了!

【问题讨论】:

【参考方案1】:

最终答案变得非常简单 - 我需要转到“构建设置”并关闭“Derive Mac Catalyst Product Bundle Identifier”,以便捆绑 ID 变为 X 而不是 @987654322 @。我假设该设置是为那些想要单独应用程序的人设置的,但我认为当第一次导入项目时,它必须为早于 Xcode 11.4 的 Catalyst 应用程序自动打开。

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

【讨论】:

以上是关于Mac Catalyst ITMS-4241 错误上传二进制文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mac 上的 Mac Catalyst 应用程序中使用钥匙串?

iOS Catalyst Cocoapod 框架错误 - 签名需要开发团队

Mac Catalyst 的替代 UIActivityViewController 保存对话框或 UIDocumentPickerViewController 抛出错误代码 260 的解决方案

使用 Crashlytics 构建 Mac Catalyst

Mac Catalyst 的问题 - 链接为 iOS 模拟器构建的目标文件

Xcode 12.3 Mac Catalyst 代码签名失败(代码对象根本没有签名)