无法对 Mac 应用程序进行代码签名

Posted

技术标签:

【中文标题】无法对 Mac 应用程序进行代码签名【英文标题】:Could not code sign a Mac App 【发布时间】:2016-06-15 04:36:06 【问题描述】:

我已成功将我的应用程序 [版本 1.0] 提交给 iTunesConnect 以供审核。他们拒绝了它,因为我添加了一个额外的App Sandbox feature。所以我解决了这个问题并尝试将我的项目存档在新的内部版本号中。

我还选择了我的Code Signing Identity 3rd Party Mac Developer Application,然后回到项目设置-> 常规,现在我可以看到签名切换到NoneTeam 自动更改为无。所以我将其更改为My Team Name 并登录Mac App Store。现在我回到Project Settings -> Build Settings,代码签名身份选择了不同的身份[Two Mac Developer & One 3rd Party Mac Developer]。

所以发生的情况是,每当我改变某些东西时,在其他地方就会发生相反的情况。基本上我无法归档我的项目导致代码签名问题的原因。

如果我尝试使用 Mac Developer Identity 进行代码签名,它会向我展示一些我以前从未见过的东西。

类似于error: A cryptographic verification failure has occurred *** error: Couldn't codesign /Users/Alvin/Library/Developer/Xcode/DerivedData/MyApp-bjtynsmrmxhrfffdvpfwxeanbgkb/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app/Contents/Frameworks/libswiftCore.dylib: codesign failed with exit code 1

那么我将如何解决这个问题呢?提前致谢。

顺便说一句,我在macOS Sierra 中使用Xcode 7.3.1。这可能是个问题吗?不对吧?

【问题讨论】:

【参考方案1】:

macOS Sierra 似乎存在代码签名问题。您可以关注问题here。

我建议恢复到 El Cap 并仅在用于测试 OS 的机器上安装新 Mac OS 的早期测试版,而不是您正在进行积极开发的机器。

[2016 年 7 月 6 日更新]

一些开发人员报告说 macOS Sierra Beta 2 和 Xcode 8 Beta 2 已解决此问题,但我尚未在备用 Mac 上确认此问题是否解决。

此外,一些开发人员报告说重置钥匙串修复是。在 Keychain Access 应用程序中,转到“Preferences...”并单击“Reset My Default Keychain”。

【讨论】:

您提供的那个链接没有太多有用的信息。 提供该链接是为了验证这是其他人遇到/报告的已知 macOS Sierra 问题。我想我的意思是用户正在使用的新 BETA 操作系统存在一个已知问题,特别是与他们正在尝试做的事情有关。如果 Apple 修复它,Apple 开发者网站上的链接将是更新的好地方。与此同时,正如我的回答所说,将 El Cap 重新安装到他们用于构建 PRODUCTION 应用商店的 Mac 上。我的建议是正确的,几乎肯定会解决他们的问题。

以上是关于无法对 Mac 应用程序进行代码签名的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 xcode5 在 Mac 应用程序中对捆绑的可执行文件进行代码签名

对 Mac OS X 应用程序进行代码签名以进行 Ad-Hoc Beta 分发(使用 HockeyApp)

我无法对我的 iOS 应用程序进行代码签名

您是不是需要访问目标操作系统才能对电子应用程序进行代码签名

无法导出开发者 ID 签名的 Mac 应用程序

Mac App Store 权利 - 代码对象根本没有签名