我们正在开发一个Mac OS X应用程序,我们将在Mac App Store外部分发。我们最终在Mac开发人员计划中获得了这些证书:
当我选择一个用于签署应用程序时,我发现:
我是否正确,我应该使用Developer ID: *
进行调试?是否允许没有我公司证书的开发人员签署该应用程序以便能够在本地运行它?
我应该使用什么证书进行发布?
答案 0 :(得分:20)
对于开发(例如,Debug configuratino),使用Mac Developer
选项,该选项将选择您当地的Mac Developer证书(在您的情况下为“Mac Developer:JoséFernández”),该选项适用于工作的团队成员在你的项目上(包括测试/调试)。
对于Release,使用“Developer ID:*”,它将选择the standard application release certificate used outside the AppStore,在您的情况下为“开发者ID应用程序:Carousel应用程序。我建议在进行代码签名后进行最终测试/调试,以确保它按预期工作。
Xcode获取证书的方式是通过简单的子串匹配。
(名称,类型,说明)
iOS开发
iOS发布
Mac开发
Mac App Distribution
Mac安装程序分发
开发者ID应用
开发者ID安装程序
签名后,您还可以在Terminal.app
启用Gatekeeper时模拟应用的启动行为:
spctl -a -v Carousel.app
./Carousel.app: accepted
source=Developer ID
Developer ID Application
证书允许您的应用运行 设置上的Gatekeeper
允许从Mac App Store下载的应用 并确定了开发人员“
答案 1 :(得分:0)
通过终端编码签名(如果不使用Xcode):
codesign -s"开发者ID" -v Carousel.app#与#34;开发者ID申请"分发
codesign -s" Mac Developer" -v CarouselDebug.app#与Mac开发者签约:*"用于测试
spctl -a -v Carousel.app#来验证,寻找"接受"
spctl -a -v CarouselDebug.app#来验证,寻找"接受"
Codeign通过查找钥匙串中具有-s字符串作为子字符串的证书来查找正确的证书。如果只有多个证书匹配,它会发出警告,你可以提供更长的字符串。