Mac Code Signing certificates
certificate, macos, xcode
Solution
- Development cert. Not intended for distribution
- For signing an installer for distribution
- For signing apps for distribution
- For Developer ID signing of an installer, for non App-Store Distribution
- For Developer ID signing of an app, for non App-Store Distribution
Read the App Distribution Guide, and more specifically the table of certificate types, which tells you this information explicitly - you need to click on the 'certificate types' highlight, which pops up a table containing all the known certificate types, which as of 2022-02-01 is:
APNs Auth Key
- Generate server-side tokens as an alternative to certificates for your notification requests.
Apple Push Services
- Establish connectivity between your notification service and APNs to deliver remote notifications to your app.
Apple Development
- For iOS, tvOS, or watchOS apps, run the app on devices and use app services during development. For macOS apps, use app services during development and testing.
Note: Available in Xcode 11.0 and later. For earlier Xcode versions, use an iOS Development or Mac Development certificate.
Apple Distribution
- For iOS, tvOS, or watchOS apps, run the app on designated devices for testing or submit it to the App Store. For macOS apps, sign an app before distributing it through the Mac App Store.
Note: Available in Xcode 11.0 and later. For earlier Xcode versions, use an iOS Distribution or Mac App Distribution certificate.
iOS Development
- Run an iOS, tvOS, or watchOS app on devices and use certain app services during development.
iOS Distribution
- Distribute your iOS, tvOS, or watchOS app on designated devices for testing or to submit it to the App Store.
Mac Development
- Enable certain app services for a macOS app during development and testing.
Mac App Distribution
- Sign a macOS app before submitting it to the Mac App Store.
Mac Installer Distribution
- Sign and submit a Mac Installer Package, containing your signed app, to the Mac App Store.
Developer ID Application
- Sign a macOS app before distributing it outside the Mac App Store.
Developer ID Installer
- Sign and distribute a Mac Installer Package, containing your signed app, outside the Mac App Store.
Apple Pay
- Decrypt app transaction data sent by Apple to a merchant/developer.
Merchant Identity
- Authenticate you to Apple Pay Servers.
Pass Type ID
- Sign and send updates to passes in Wallet.
Swift Package Collection Certificate
- Sign Swift Package Collections for distribution
VoIP Services
- Establish connectivity between your notification server and APNs to alert background VoIP apps of incoming activity.
WatchKit Services
- Establish connectivity between your notification server and APNs to update ClockKit complication data.
Website Push ID
- Sign and send updates for Websites.
Problem
I am totally confused about the mac certificates. I found around 5 different types of certificates in the Apple developers account for Mac. What is the difference between them? Which one is used when I apply an app in Mac app store for distribution? - Mac Development - Mac Installer Distribution - Mac App Distribution - Developer ID Installer - Developer ID Application