我已经无数次地为 iOS 应用程序进行了代码签名和提交。这次它让我对 Mac App Store 感到震惊。我反复收到相同的错误消息:
“我的名字”是一个有效的身份。但是,您没有关联的包标识。
我在堆栈溢出时已经认识到这两个主题:mas-code-signing-identity-private-key和mac-app-package-identity-not-installed
里面没有任何东西能解决我的问题。
多数民众赞成我(最可靠)重现这个信息:
-
我从“Mac Developer”或“3rd Party Mac Developer”开始清理所有证书和私钥。当然也是过期的。
-
撤销 Mac 认证门户中的所有内容。
-
创建 App-ID(只做过一次)
-
为 Mac Development 创建新证书。我只能假设这与 iOS 开发的调试证书相当。
-
为 Mac App 创建新证书。我再次假设这可能类似于 iOS-development 中的分发证书。
-
为完成原因,为我的系统创建一个新的 certificate/profile。
-
创建生产供应配置文件。我只能假设这可能等同于 iOS 分发配置文件。
-
然后我下载所有证书混乱并正确安装。一些进入 Keychain,其他人进入了 Preferences 和 XCode。
-
为了确保我重新启动 XCode 甚至整个 Mac(无论如何都不会改变令人沮丧的结果)。
-
我转到项目构建设置并选择生产供应配置文件,因为我假设“生产”等同于“分配”。更改目标构建设置中的代码签名标识也不起作用。虽然 Apple 在其文档中声称,对于 App Store 提交,必须在项目构建设置中更改签名身份。
-
我运行存档构建。
-
我在管理器中选择存档,然后单击“验证”。
-
出现此错误消息:
“我的名字”是一个有效的身份。但是,您没有关联的包标识。
我找不到任何指向术语“包标识”实际含义的指针。对我来说最令人沮丧的是,关于代码签名和提交过程的 Apples 文档中的术语混乱对我来说不是很清楚和准确。至少不像关于 iOS App 提交的相同过程的文档那样清晰和精确(使用完全不同的术语)。
可能我明白了什么问题? Thanx 提前任何帮助或指针。
4 回答
好吧,对于遇到类似问题的人,我有一些重要的指针(除了苹果文档之外)。
错误消息完全是误导性的。
不要太认真地对待 Apples 文档中的每一个字。
为了解决这个问题,2 分是最重要的:
除了所有其他 profile-mess 之外,您需要 2 个证书才能提交到 Mac App Store(与 iOS App Store 提交的相同流程相反)。两者都必须与相应的公钥和私钥对一起安装。
Mac App
Mac 安装程序
代码签名需要在构建目标上设置,而不是在项目上设置。我不记得在哪里,但在 Apples 文件中有一个错误的描述。
最终我的提交工作保持这两点。
Keychain 和 XCode 还有一个问题。
当 Xcode 使用证书时,他们需要您的钥匙串中只有一个证书。如果你有一个过期的,以及一个有效的,Xcode 经常会失败。
因此,您使用 Keychain Access 查看您的钥匙串,并且看不到过期的证书。它还在那里! Keychain Access 的默认设置会隐藏过期的证书。转到“视图”菜单,然后选择“显示过期的证书”。删除所有过期的,它们对任何事都没有好处。
退出 Keychain Acces 并重新启动 Xcode。当 adding/deleting 证书时,Xcode 通常需要重新启动。
此时,存档验证过程对我有用。
这对我来说也是如此。
只想澄清一下,您绝对需要 Mac App Distribution 和 Mac Installer Distribution 证书。感谢 Jacque 上面的解释。它应该如下所示:
是的问题是 Mac Installer Distribution 证书。
解决所有麻烦的最简单方法就是转到 Xcode-> Window-> Organizer-> Devices,然后在右下角按 Refresh 并使用您的帐户登录... xcode 将生成并下载所有需要的证书和配置文件。