我有几个关于使用开发者ID签名Mac应用程序的问题:
首先,我正在做一个使用GateKeeper的项目。所以我必须(?)用开发者ID签署我的应用。
-
我需要一个配置文件与开发者ID签署吗?在构建设置选项卡中,开发者ID认证被标记为
Identities without Provisioning Profiles
。在Mac Provision Portal中,我发现没有地方生成配置文件来匹配开发者ID证书,而不是提交证书。那么我是否需要一个配置文件来使用开发者ID进行签名? -
存档后,当我在组织者中选择Export Developer ID-signed Application时,我的Developer ID认证被标记为黄色警告图标。但是我仍然可以选择证书并签名。可以吗?
-
签署我的应用程序后,我使用
sudo spctl -a -v MyApp.app
测试我的应用程序与sudo spctl --master-enable
之前运行。结果如下:EIM.app: rejected source=Developer ID
这个拒绝是否与问题2中的警告有关?
这是我第一次用Developer ID发布Mac App,谢谢大家的帮助。
Re:配置文件和DeveloperID—它们是不必要的。您应该能够在构建设置的代码签名标识部分的自动部分中接受您的DeveloperID。如果不能,则可能是您的键丢失了,或者包含该信息的数据库有其他问题。
首先,进入Keychain Access并验证您的DeveloperID证书是否具有与之关联的附带私钥(这将在披露三角形下显示)。如果没有,那么你应该检查一下你是否保存了与该证书相关的密钥,因为如果你找不到并重新导入它(例如,从Xcode导出的Developer Profile),你将需要撤销并重新颁发证书,因为没有办法签名。
第二,4.6.1中有一个已知的错误,可能会破坏包含来自开发人员门户的信息的缓存数据库。没有具体的迹象表明这种行为可能是由这个问题引起的,但在执行下一步之前,您可能想要尝试一下。基本上,你需要退出Xcode,移到一边(或删除)~/Library/Developer/Xcode/connect1.apple.com 4.6.1.db
(是的,在那个文件名中有一个空间),重新启动Xcode,转到Organizer和Refresh你的配置文件和证书。
如果这不起作用,你可能要考虑撤销你的开发者ID。
警告如果您已经成功地分发了带有证书的代码,请不要撤销它,直到您访问了Apple的网站(https://developer.apple.com/support/technical/certificates/)并彻底理解了吊销开发人员id的发布代码的含义。具体来说,已安装的软件将继续工作,但用户将无法安装/重新安装使用原始证书签名的二进制文件。
如果您从未成功地使用证书分发代码(或者如果您的密钥不可恢复地丢失),您可能需要访问门户并撤销然后重新颁发您的Developer ID证书。撤销证书后,您可以通过请求新证书来创建新证书。