我应该使用哪种证书来签署我的Mac OS X应用程序?

pup*_*eno 13 macos xcode release certificate

我们正在开发一个Mac OS X应用程序,我们将在Mac App Store外部分发.我们最终在Mac开发者计划中获得了这些证书:

六个证书列表:两个类型Mac开发,四个类型开发者ID安装程序,Mac App分发,Mac安装程序分发,开发者ID应用程序

当我选择一个签署申请时,我发现:

证书选择菜单. 自动:Mac Developer,Mac Distribution,开发者ID:*;  其他在钥匙串中的身份

我是否正确,我应该Developer ID: *用于调试?是否允许没有我公司证书的开发人员签署该应用程序以便能够在本地运行它?

我应该使用什么证书进行发布?

l'L*_*L'l 21

对于开发(例如,Debug configuratino),使用该Mac Developer选项,该选项将选择您当地的Mac Developer证书(在您的情况下为"Mac Developer:JoséFernández"),该证书适用于从事项目的团队成员(包括测试/调试) ).

对于Release,使用"Developer ID:*",它将选择在AppStore外部使用的标准应用程序发行证书,在您的情况下为"开发者ID应用程序:Carousel应用程序.我建议在进行协同设置后进行最终测试/调试,以确保它按预期工作.

Xcode获取证书的方式是通过简单的子串匹配.

Apple协同签署证书类型

(名称,类型,描述)

iOS开发

  • iPhone开发人员:团队成员名称用于在设备上运行iOS应用程序并在开发期间使用某些应用程序服务.

iOS发行版

  • iPhone分发:团队名称用于在指定设备上分发您的iOS应用程序以进行测试或将其提交到App Store.

Mac开发

  • Mac开发人员:团队成员名称用于在开发和测试期间启用某些应用程序服务.

Mac App Distribution

  • 第三方Mac开发人员应用程序:团队名称用于在将Mac应用程序提交到Mac App Store之前对其进行签名.

Mac安装程序分发

  • 第三方Mac开发人员安装程序:团队名称用于签署并向Mac App Store提交包含已签名应用程序的Mac安装程序包.

开发者ID申请

  • 开发者ID应用程序:团队名称用于在将Mac应用程序分发到Mac App Store之前对其进行签名.

开发者ID安装程序

  • 开发者ID安装程序:团队名称用于在Mac App Store外部签署和分发包含已签名应用程序的Mac安装程序包

在此输入图像描述 一旦进行了编码,您还可以在启用Gatekeeper时模拟应用的启动行为Terminal.app:

spctl -a -v Carousel.app

./Carousel.app: accepted
source=Developer ID
Run Code Online (Sandbox Code Playgroud)

Developer ID Application证书允许您的应用程序 Gatekeeper"允许从Mac App Store下载的应用程序和已识别的开发人员"设置下运行