我应该使用哪个证书来签署我的Mac OS X应用程序? [英] Which certificate should I use to sign my Mac OS X application?
问题描述
我们正在开发一个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应用
- Mac开发人员:团队成员名称用于在开发和测试期间启用某些应用服务
开发人员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 withGatekeeper
on the setting "allow apps downloaded from Mac App Store and identified developers"
这篇关于我应该使用哪个证书来签署我的Mac OS X应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!