11

我已经无数次为 iOS 应用程序进行了代码设计和提交。这次 Mac App Store 让我印象深刻。我反复收到相同的错误消息:

“我的名字”是一个有效的身份。但是,您没有关联的包标识。

我已经在堆栈溢出中认识到这两个主题: mas-code-signing-identity-private-keymac-app-package-identity-not-installed

里面没有任何东西可以解决我的问题。

这就是我(最可靠地)重现此消息的方式:

  1. 我清理了以“Mac Developer”或“3rd Party Mac Developer”开头的所有证书和私钥。当然还有过期的。
  2. 撤销 Mac 认证门户中的所有内容。
  3. 创建 App-ID(只做了一次)
  4. 为 Mac 开发创建新证书。我只能假设这可以与 iOS 开发的调试证书相媲美。
  5. 为 Mac App 创建新证书。再一次,我只能假设这可能类似于 iOS 开发中的分发证书。
  6. 出于完成原因,为我的系统创建一个新的证书/配置文件。
  7. 创建生产配置文件。我只能假设这可能等同于 iOS 分发配置文件。
  8. 然后我下载所有证书混乱并正确安装。一些进入 Keychain,另一些进入 Preferences 和 XCode。
  9. 为了确保我重新启动 XCode 甚至整个 Mac(无论如何都不会改变令人沮丧的结果)。
  10. 我转到项目构建设置并选择生产配置文件,因为我假设“生产”等同于“分发”。在目标构建设置中更改协同设计标识也不起作用。虽然 Apple 在其文档中声称,对于 App Store 提交,必须在项目构建设置中更改签名身份。
  11. 我运行存档构建。
  12. 我在管理器中选择存档并单击验证。
  13. 出现此错误消息:

“我的名字”是一个有效的身份。但是,您没有关联的包标识。

我找不到任何指向“包标识”一词实际含义的指针。最让我沮丧的是,Apple 文档中关于代码签名和提交过程的术语混乱对我来说似乎不是很清晰和准确。至少不如有关 iOS 应用程序提交的同一过程的文档(使用完全不同的术语)的文档清晰和准确。

大概是我理解错了?感谢您提前提供任何帮助或指示。

4

4 回答 4

21

好的,对于遇到类似问题的人,我有一些重要的指示(Apples 文档的补充)。

  1. 该错误消息完全具有误导性。
  2. 不要太认真地对待 Apple 文档中的每一个字。

为了解决这个问题,有两点最重要:

  1. 除了所有其他配置文件混乱之外,您还需要 2 个证书才能提交到 Mac App Store(与 iOS App Store 提交的相同过程相反)。两者都必须与其相应的公钥和私钥对一起安装。
    1. Mac 应用程序
    2. Mac 安装程序
  2. 需要在构建目标上设置协同设计,而不是在项目上。我不记得在哪里,但这在 Apple 的一份文档中被错误地描述了。

最终,我的提交通过保持这 2 点起作用。

于 2012-10-04T10:10:16.887 回答
3

Keychain & XCode 还有一个额外的问题。

当 Xcode 使用证书时,他们希望您的钥匙串中只有一个证书。如果你有一个过期的和一个有效的,Xcode 经常会失败。

因此,您使用 Keychain Access 查看您的钥匙串,并没有看到过期的证书。它还在那里!Keychain Access 的默认设置隐藏过期的证书。转到查看菜单并选择显示过期证书。删除所有过期的,它们对任何事情都没有好处。

退出钥匙串访问并重新启动 Xcode。添加/删除证书时,Xcode 通常需要重新启动。

那时,存档验证过程对我有用。

于 2013-09-06T19:08:28.037 回答
2

这对我来说也是如此。

只是想澄清一下,您绝对需要 Mac App Distribution 和 Mac Installer Distribution 证书。感谢 Jacque 的上述解释。它应该如下所示:在此处输入图像描述

于 2013-05-22T18:57:18.947 回答
0

是的,问题是 Mac 安装程序分发证书。

修复所有问题并消除所有麻烦的最简单方法只需转到 Xcode->Window->Organizer->Devices 然后在右下角按刷新并使用您的帐户登录... xcode 将生成并下载所有所需的证书和配置文件。

于 2013-05-29T20:39:58.533 回答