我应该使用哪个证书来签署我的Mac OS X应用程序? [英] Which certificate should I use to sign my Mac OS X application?

查看:1856
本文介绍了我应该使用哪个证书来签署我的Mac OS X应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在开发一个Mac OS X应用程序,我们将在Mac App Store之外发布。我们最终在Mac Developers计划中提供了这些证书:





请选择一个用于签名应用程序,我发现:





code>开发人员ID:* for Debug?是否允许没有我的公司证书的开发人员签署该应用程序,以便能够在本地运行?



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

解决方案

对于开发(例如,Debug configuratino),使用 Mac Developer 选项,这将选择您的本地Mac开发人员证书(在您的情况下,Mac开发人员:JoséFernández),这是为您的项目工作的团队成员(包括测试/调试)。



对于发布,请使用开发者ID:*,它将选择在AppStore外部使用的标准应用程序发行证书,在您的情况下为开发人员ID应用程序:Carousel应用程序。最后测试/调试后的代码签名,以确保它按预期工作。



XCode获取证书的方式是通过一个简单的子串匹配。



Apple代码签名证书类型



名称类型,说明)



iOS开发




  • 用于在设备
    上运行iOS应用,并在开发过程中使用某些应用服务。



strong>





  • 团队名称用于在$ b $上分发您的iOS应用程式




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



    Mac应用程式发布




    • 第三方Mac开发人员应用程序:团队名称用于在将Mac应用程序
      提交到Mac App Store之前签署该应用程序。



    Mac安装程序分发




    • em>:Team Name用于在Mac应用程序
      商店中签署并提交
      a Mac Installer软件包,其中包含您已签名的应用程序。



    开发人员ID应用




开发人员ID安装程序




  • 开发者ID安装程序:团队名称用于签署和分发Mac
    安装程序包含您已签名的应用程序,Mac应用程序外
    商店




一旦代码,你也可以模拟应用程序的启动行为,当Gatekeeper从 Terminal.app

  spctl -a -v Carousel.app 

./Carousel .app:accepted
source =开发人员ID




code>开发人员ID应用程式凭证可让您的应用程式使用
Gatekeeper 来自Mac App Store
和已识别的开发人员



We are developing a Mac OS X application that we are going to distribute outside the Mac App Store. We ended up having these certificates in the Mac Developers program:

and when I go to select one for signing the application, I find this:

Am I correct in that I should use Developer ID: * for Debug? Will that allow developers that don’t have my company’s certificate to sign the application to be able to run it locally?

What certificate should I use for Release?

解决方案

For development (for example, the Debug configuratino) use the Mac Developer option, which will choose your local Mac Developer certificate (in your case "Mac Developer: José Fernández"), which is meant for team members working on your project (includes testing/debugging).

For Release, use "Developer ID: *" which will pick the standard application release certificate used outside the AppStore, in your case "Developer ID Application: Carousel Apps. I recommend doing a final test/debug after codesigning to ensure it's working as expected.

The way XCode picks up certificates is by a simple substring matching.

Apple Codesigning Certificate Types

(Name, Type, Description)

iOS Development

  • iPhone Developer: Team Member Name Used to run an iOS app on devices and use certain app services during development.

iOS Distribution

  • iPhone Distribution: Team Name Used to distribute your iOS app on designated devices for testing or to submit it to the App Store.

Mac Development

  • Mac Developer: Team Member Name Used to enable certain app services during development and testing.

Mac App Distribution

  • 3rd Party Mac Developer Application: Team Name Used to sign a Mac app before submitting it to the Mac App Store.

Mac Installer Distribution

  • 3rd Party Mac Developer Installer: Team Name Used to sign and submit a Mac Installer Package, containing your signed app, to the Mac App Store.

Developer ID Application

  • Developer ID Application: Team Name Used to sign a Mac app before distributing it outside the Mac App Store.

Developer ID Installer

  • Developer ID Installer: Team Name Used to sign and distribute a Mac Installer Package, containing your signed app, outside the Mac App Store

Once codesigned you can also simulate the launch behavior of your app when Gatekeeper is enabled from Terminal.app:

spctl -a -v Carousel.app

./Carousel.app: accepted
source=Developer ID

The Developer ID Application certificate allows your app to run with Gatekeeper on the setting "allow apps downloaded from Mac App Store and identified developers"

这篇关于我应该使用哪个证书来签署我的Mac OS X应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆