提交 Mac Catalyst 应用程序时出现错误 ITMS-90283,并显示“‘com.apple.application-identifier’授权值无效”

arl*_*dia 6 xcode app-store mac-catalyst

我第一次尝试提交 Mac Catalyst 应用程序,但上传始终失败,并显示以下错误消息:

错误 ITMS-90283:“配置文件无效。捆绑包 maccatalyst.com.arlomedia.setlistmaker [maccatalyst.com.arlomedia.setlistmaker.pkg/Payload/SetListMaker.app] 中包含的配置文件无效。[无效的 'com.apple .application-identifier' 权利值。] 有关更多信息,请访问 macOS 开发人员门户。”

如果我手动或自动签署应用程序,就会发生这种情况。通过手动签名,我拥有了一个新的 macOS App Store 配置文件,该配置文件是使用关联的 iOS 应用程序 ID 作为 Mac Catalyst 配置文件创建的。这在配置门户中显示为有效,我可以使用所选的配置文件构建(存档)应用程序:

Xcode 签名设置

当我在 Xcode 管理器中完成提交过程时,我每次都必须“导入”配置文件(我下载了配置文件,只需在此处选择下载的文件),这很奇怪:

在此输入图像描述

但是选择文件后,我可以单击其信息图标,一切看起来都是正确的:

在此输入图像描述

然后我继续上传,当进度条到达末尾时,出现错误,提交失败。

错误消息表明应用程序标识符有问题,但我已经检查了所有可以找到它的地方,它看起来是正确的。我正在使用自动派生的捆绑包 ID,它将“maccatalyst”前缀添加到我的 iOS 捆绑包 ID 上。在某些显示此信息的地方,ID 还以配置门户中应用程序标识符记录中的应用程序 ID 前缀为前缀。上面的屏幕截图显示了 App ID 的最后一个字母被截断,但我认为这只是 Xcode 中的显示;如果我打开配置文件,则会列出完整的 ID。

我同时正在开发另一个应用程序,并且我能够成功提交它。我打开了两个项目的存档 .app 文件,并比较了嵌入式配置文件,唯一的区别是我所期望的,例如应用程序名称和导出时间。应用程序标识符和捆绑包 ID 的格式相同,并具有正确的应用程序前缀。我还比较了两个应用程序的 info.plist 文件,也没有发现任何显着差异。另一个应用程序还要求我在提交过程中选择配置文件,所以这似乎不是问题(尽管在我的 iOS 提交中,配置文件名称会自动显示在那里)。

当我打开自动签名时,会跳过一些上传步骤,但在上传结束时收到相同的错误消息。如果我在 Xcode 管理器中使用“验证应用程序”按钮而不是“分发应用程序”按钮,我将执行相同的步骤并收到相同的错误消息。

我比较了两个应用程序的应用程序 ID 和配置文件的设置、签名设置、构建设置、iTunes Connect 中的应用程序信息页面……所有内容都以相同的方式设置。有谁知道我还应该检查什么?

arl*_*dia 1

我最终通过放弃自动派生的“maccatalyst”包 ID 并使用自定义包 ID 来实现此目的。以下是我采取的步骤:

  1. 在 Xcode 中,关闭“Derive Mac Catalyst Product Bundle Identifier”构建设置。
  2. 编辑“产品捆绑包标识符”构建设置并为 macOS 平台添加单独的捆绑包 ID。(屏幕截图 1)
  3. 在 iOS 配置门户中,编辑关联 iOS 应用程序的应用程序 ID 并关闭 Mac Catalyst 选项。
  4. 为应用程序的 Mac 版本创建新的应用程序 ID,然后输入新的 macOS 捆绑包 ID。
  5. 使用新的应用程序 ID 创建新的开发和分发配置文件。创建配置文件时,这些配置文件必须是 Mac Catalyst,而不是 Mac 配置文件。验证时,Xcode 仅接受 Mac Catalyst 配置文件。(屏幕截图2)
  6. 在 App Store Connect 中,编辑 macOS 应用程序记录并将捆绑包 ID 从 maccatalyst ID 更改为自定义 ID。这仍然是可编辑的,因为我还没有成功上传二进制文件。

我的新配置文件现在在 Xcode 的“签名和功能”选项卡上显示为“合格”,但在提交时它们不会在验证页面上显示为选项。但是,与我的原始设置一样,我可以单击此处的“导入配置文件”选项,然后选择从配置门户下载的文件。

请注意,如果您不想通用购买,则可以使用此设置。如果您确实想要这样做,则需要使用与 iOS 应用程序相同的包 ID,并且您可能需要等到 Xcode 11.4 发布才能提交具有该设置的应用程序。我对此不太确定,但我确信您无法使用 Xcode 11.4 beta 提交应用程序,因为我尝试过。(屏幕截图3)

我没有尝试使用自定义捆绑 ID 设置进行自动签名。我认为这会起作用,因为我认为问题与自动派生的包 ID 有关。即将推出的 Xcode 11.4 和通用购买功能基本上已弃用这一点,因此我怀疑 Apple 端的更改破坏了该捆绑包 ID 样式的验证,也许仅在有限的情况下影响了我的应用程序,因为某些因素我都没有意识到。苹果也无法识别。

自定义捆绑 ID 设置: 自定义捆绑 ID 设置

“配置文件不是‘Mac Catalyst App Store’配置文件”: “配置文件不是‘Mac Catalyst App Store’配置文件”

无法从 Xcode beta 提交: 无法从 Xcode beta 提交