2012-10-04 115 views
11

我已经无数次地为iOS应用程序进行密码签名和提交。这一次它让我着迷于Mac App Store。我反复得到相同的错误消息:无法验证并提交应用程序到Mac App Store

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

我在这里已经认识到了这两个议题上的堆栈溢出: mas-code-signing-identity-private-keymac-app-package-identity-not-installed

里面什么也没有出现解决了这个问题对我来说。

,这是我(最可靠)如何重现此消息:

  1. 我清理了我所有的证书和私钥开始“Mac开发者”或“第三方Mac开发者”。当然也是过期的。
  2. 撤消Mac认证门户中的所有内容。
  3. 创建应用程序ID(只做过一次)
  4. 为Mac开发创建新证书。我只能假设这与iOS开发的调试证书相似。
  5. 为Mac App创建新证书。我再次只能假设这可能与iOS开发中的分发证书类似。
  6. 由于完成的原因,为我的系统创建一个新的证书/配置文件。
  7. 创建生产供应配置文件。我只能假设这可能相当于iOS发行版配置文件。
  8. 然后我下载所有的证书乱码并正确安装。一些进入钥匙串,其他进入首选项和XCode。
  9. 为了确保我重新启动XCode甚至整个Mac(无论如何不会改变令人沮丧的结果)。
  10. 我转到项目构建设置并选择生产供应配置文件,因为我假设“生产”等同于“分配”。在目标版本设置中更改编码标识也不起作用。虽然苹果在文档中声称,对于App Store提交,必须在项目构建设置中更改签名标识。
  11. 我运行一个归档版本。
  12. 我在组织者中选择存档,然后单击验证。出现
  13. 此错误消息:

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

我找不到任何指向“包身份”一词的实际含义。对我来说最令人沮丧的是,苹果关于代码签名和提交过程的文档中的这个术语看起来并不是很清晰和精确。至少不像iOS应用程序提交(使用完全不同的术语)的相同流程的文档那么清晰和精确。

大概我明白了什么错误?感谢任何帮助或指针提前。

+0

嘿,你有解决方案,请帮助。 :) – iPhoneDv

+0

应用程序验证是如此糟糕...不能相信PPL仍然忍受所有这些crApple只是为了提交一个应用程序。对我来说,总是会有几个小时的痛苦,直到我终于可以验证应用程序。毕竟这些年来,苹果仍然不能/做一个“重置所有东西”的按钮,让我们销毁所有东西,并从iTunes连接(证书,配置文件等)重新下载。太糟糕了,我想哭。 –

回答

20

好的,我有一些重要的指针(除了苹果文档),让人们在类似问题上磕磕绊绊。

  1. 错误消息完全是误导。
  2. 不要太认真地对待苹果文档中的每一个字。

为了解决这个问题,2点一直最显著:

  1. 附加到所有其他个人资料,乱,你需要2级证书提交到Mac App Store的(与在同一进程iOS App Store提交)。两者必须与相应的公钥和私钥对一起安装。
    1. Mac应用
    2. 的Mac安装程序
  2. 的代码签名需要在构建目标,而不是项目设置。我不记得在苹果的一份文件中,这是如何被描述的。

最后我提交通过保持对那些2点的工作。

+2

哇。绊住我的部分是,我显然需要“Mac App”和“Mac Installer”证书,尽管我只使用Mac App证书。默认情况下,它是在创建证书时检查这两个框,但这不起作用。在其他地方发现了一个建议,我应该只检查一个,但这给了我在这个问题中讨论的新错误。创建第二个Mac安装程序证书终于得到它的工作。 – robotspacer

+0

安装者证书。很好的答案。 – rougeExciter

2

这对我来说也是这样。

只是想澄清,你绝对需要Mac App Distribution和Mac Installer Distribution证书。感谢Jacque在上面的解释。它应该是这样的:enter image description here

+0

它的工作原理!我错过的地方是Mac安装程序分发证书。谢谢! –

0

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

最简单的方法是让所有的问题都得到解决,并进入Xcode-> Window-> Organizer-> Devices,然后在右下角点击Refresh并使用您的帐户登录... xcode will生成并下载所需的所有证书和配置文件。

+0

除非您的钥匙串中隐藏有过期的证书。 –

3

有钥匙扣& XCode的另外一个问题。

当Xcode使用的证书,他们希望有且只有一个在您的钥匙串证书。如果你有一个过期的,以及一个有效的,Xcode经常会失败的操作。

所以你看看使用钥匙串访问您的钥匙串,并没有看到过期的证书。它仍然存在!钥匙串访问的默认设置隐藏了过期的证书。转到视图菜单并选择显示过期证书。删除所有过期的,它们不适合任何事情。

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

在这一点上,存档验证过程为我工作。

相关问题