我正在尝试生成一个代码签名的安装程序包,以便在Mac Store外部进行分发。我的钥匙串包含您昨天加入Apple Developer计划时获得的5张证书。我必须使用命令行“codesign”工具来执行此操作。这需要很好的技巧,因为代码签名的默认机制与正确的证书挂钩不会区分具有相似“通用名称”的证书 - 它们都以“第三方Mac开发者”开头,这会对代码签名的默认设置造成混淆。但是,如果你研究文档(codesign的手册页和Apple的技术文档,“代码签名”),有办法解决这个问题。当我仔细遵循各种指示时,我的尝试仍然失败。这是我的终端命令行输入(注意我的证书ID是X-ed out):
codesign -s "3rd Party Mac Developer Installer: Antony Nispel (XXXXXXXXXX)" -v /Users/antonywallacenispel/Desktop/SpellAware
_1.0/SpellAwareDistributionPackageStuff/SpellAware
结果如下:
3rd Party Mac Developer Installer: Antony Nispel (XXXXXXXXXX): this identity cannot be used for signing code
当我尝试更严格的请求时:
codesign -s -i "3rd Party Mac Developer Installer: Antony Nispel (XXXXXXXXXX)" -v /Users/antonywallacenispel/Desktop/SpellAware_1.0/SpellAwareDistributionPackageStuff/SpellAware
我收到以下回复:
-i: no identity found
我向您保证我的“身份”(我的安装人员证书的共同名称)是正确的。
我将不胜感激。
答案 0 :(得分:1)
如果没有提交到AppStore,您将使用“开发者ID安装程序”证书。
这些是您需要一起用于代码签名的证书:
开发者ID应用
Apple Developer Codesigning Workflow Guide
简而言之,您已使用正确的代码签名证书按特定顺序对安装程序进行了编码。我之前回答了类似的问题here。