开发者ID代码签名在一台机器上工作但不在另一台机器上工

时间:2013-06-20 18:07:03

标签: ios code-signing code-signing-certificate

我有一个Mac Pro,我通常会在Mac App Store之外构建并签署我的应用程序(即使它不是应用程序商店应用程序,也需要签署具有Gatekeeper的Mountain Lion计算机)。

我在终端上签署了应用程序,它在Mac Pro上工作正常,所以我为Mac Book Air创建了另一个开发者ID应用程序证书,成功创建了安装证书,但我完全无法签名空中任何应用仍然存在。我一直收到错误:

object file format unrecognized, invalid, or unsuitable

问题是我可以使用在任一计算机上构建的内置.app文件并在Mac Pro上成功签名。如果我从任一台机器上构建一个.app文件并尝试在Mac Book Air上构建,我会收到此错误。我没有收到有关证书的任何错误。

就在这里,我使用以下两行来签署应用程序(我将其复制到桌面上的“App”文件夹中):

cd ~/Desktop/App
codesign -f -v -s 'Developer ID Application: [company name]' '[appname].app'

我已经检查了Keychain访问权限,证书在两台机器上几乎完全相同。两台计算机都运行10.8.3。我无法真正看出阻止MBA签署应用程序的区别是什么。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

Mac Book Air没有安装额外的命令行工具,这就是导致问题的原因。我需要有Xcode 4.4(或更新版本)并转到首选项窗口>下载部分并从那里安装命令行工具,以使代码签名正常工作。