我正在尝试首次提交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组织器中进行提交过程时,每次都必须“导入”配置文件(我下载了配置文件,然后在这里选择下载的文件),这很奇怪:
但是选择文件后,我可以单击其信息图标,并且一切看起来都正确:
然后我继续上载,并且进度条到达末尾时,将显示错误并且提交失败。
错误消息表明应用程序标识符有问题,但是我已经在所有可以找到它的地方进行了检查,并且看起来正确。我正在使用自动派生的捆绑包ID,该ID在我的iOS捆绑包ID上加上“ maccatalyst”前缀。在某些显示此位置的位置,该ID还会以预配置门户中的app Identifier记录中的App ID Prefix为前缀。上面的屏幕截图显示了App ID的最后一个字母,但是我认为这只是Xcode中的显示;如果我打开配置文件,则会列出完整的ID。
我同时有另一个正在开发的应用程序,能够成功提交。我打开了两个项目的已存档的.app文件,并比较了嵌入式配置文件,唯一的不同是我期望的事情,例如应用程序名称和导出时间。应用程序标识符和捆绑包ID的格式相同,带有正确的应用程序前缀。我还比较了两个应用程序的info.plist文件,也没有发现任何明显的不同。另一个应用程序还要求我在提交过程中选择配置文件,所以这似乎不是问题(尽管在我的iOS提交中,配置文件名称会自动显示在此处)。
当我打开自动签名时,将跳过一些上传步骤,但是在上传结束时会收到相同的错误消息。如果我使用Xcode组织者中的Validate App按钮而不是Distribute App按钮,则我将执行相同的步骤并获得相同的错误消息。
我已经比较了两个ID的应用ID和配置文件的设置,签名设置,构建设置,iTunes Connect中的“应用信息”页面...所有设置都以相同的方式进行。有人知道我还要检查什么吗?
我找到此文档:
Technical Q&A QA1710: Why do I get an "Invalid application-identifier Entitlement" error?
状态:
在现代版本的Xcode中,您不需要自己提供此权利的值,因此,只需从自定义Entitlements.plist中删除应用程序标识符权利,就可以避免错误。
Xcode基于Xcode项目的Target> Info选项卡中定义的Bundle Identifier属性为您构建应用程序标识符权利,因此必须在Xcode中设置正确的Bundle Identifier。
我没有任何一个问题,但也许会帮助其他收到此错误的人。
我最终放弃了自动派生的“ maccatalyst”捆绑软件ID,并使用了自定义的捆绑软件ID,从而实现了这一目标。这是我采取的步骤:
我的新个人资料现在在Xcode的“签名和功能”选项卡上显示为“合格”,但是在提交时它们不会在验证页上显示为选项。但是,与原始设置一样,我可以在此处单击“导入配置文件”选项,然后选择从配置门户下载的文件。
请注意,如果您不希望进行通用购买,这是要使用的设置。如果确实需要,则需要使用与iOS应用程序相同的捆绑软件ID,并且可能需要等到Xcode 11.4发布后才能使用该设置提交应用程序。我不确定,但是我确定您无法使用Xcode 11.4 beta提交应用程序,因为我已经尝试过了。 (屏幕截图3)
我没有尝试使用自定义包ID设置进行自动签名。我认为这可行,因为我认为问题与自动派生的捆绑软件ID有关。基本上,即将推出的Xcode 11.4和通用购买功能已弃用该功能,因此我怀疑Apple端的更改破坏了该捆绑软件ID样式的验证,可能仅在有限的情况下由于某些因素影响了我的应用程序,苹果也无法识别。