Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Distributing Mac app outside App Store. How should I sign it?

I have a Mac app which can't be sandboxed due to using Apple Events and therefore it can't be released through the Mac App Store.

I've made a website, added a payment gateway and everything seems to be ok but I keep getting feedback from testers who can't open the app even with the right mouse button method. First it was the raw app from Xcode without any kind of signing, after that I tried exporting after archiving using my developer certificate, the I even notarized the app with Apple but still there are people who can't open the app (even though they was able to use it before signing).

Currently I'm using the Mac App Distribution certificate (no provisioning profile). Is this correct? Should I use "Mac Installer", "Mac developer", "Apple developer", "Apple distribution"… why is this so confusing?

like image 725
rmvz3 Avatar asked Nov 05 '19 10:11

rmvz3


People also ask

How do I distribute Mac apps without App Store?

To distribute macOS apps without the App Store, you need to sign the app with a Developer ID certificate. Apps and other software packages need to be notarized to verify they're malware-free. You can use Xcode to notarize apps. You package apps inside disk images (.

What is the difference between Mac App Store and App Store?

The App Store is from where you can purchase and download applications for the iPhone, iPad, and Mac. The Apple Store is from where you can buy their devices. Thus, the App Store is for applications, and the Apple Store is for buying Apple products.


1 Answers

You should use the Developer ID Application certificate to distribute a Mac app outside the Mac App Store that does not use an installer. Most Mac apps do not use an installer.

Apple provides a decent explanation of the different certificates when you create a new certificate from Apple's Certificates, Identifiers, and Profiles page. To keep people reading this from having to go there, I'll explain them now.

The Developer ID Installer certificate is for distributing Mac apps outside the App Store that use an installer to install the app.

The Mac Development certificate is for signing development versions of a Mac app.

The Mac App Distribution certificate is for distributing a Mac app on the App Store that does not use an installer. The Mac Installer Distribution certificate is for distributing a Mac app on the App Store that uses an installer.

In Xcode 11, Apple added the Apple Development and Apple Distribution certificates so people could sign their apps for all Apple platforms with one certificate. These certificates are for apps that will end up on the App Store.

like image 114
Swift Dev Journal Avatar answered Oct 10 '22 00:10

Swift Dev Journal