Sign an app to distribute it outside of the app store

I am the author of an App that is written using the Qt framework and tools. This result of building with the Qt tools is a complete .app (or .dmg) and I need to sign the applicastion in order to distribute it outside of the App store without Gatekeeper getting involved. As this is a free, open source App I am not interested in paying to join the Apple development program.


I have spent weeks reading through Apple's documentation on this but I have still failed to sign the application so that Gatekeeper accepts it.

I have added my Apple ID to Xcode and this allowed me to create a 'Mac Development' signing identity and now I have a Mac Developer certificate in Keychain. However, if I sign my app with this certificicate then Gatekeeper still does not accept it. If I test the app with:

spctl --assess --type execute ser-player.app


Then I get the response:

ser-player.app: rejected


From reading through the documentation it seems that I should be signing the app with a 'Developer ID' certificate, but I am unable to create a 'Developer ID Application' signing identity in Xcode as the 'create' button is greyed out.


So which certificate should I be using to sign my application to distribute it from my website? Can I create this certificate without paying to join the Apple development program?


Thanks,

Chris

Answered by red_menace in 138044022

If you are not an identified developer, GateKeeper is going to complain unless the user has set it to 'Anywhere' or otherwise bypasses the setting. You will need an Apple developer subscription to get a Developer ID and certificate in order to become identified, since there isn't a way to verify who you are without them.

Accepted Answer

If you are not an identified developer, GateKeeper is going to complain unless the user has set it to 'Anywhere' or otherwise bypasses the setting. You will need an Apple developer subscription to get a Developer ID and certificate in order to become identified, since there isn't a way to verify who you are without them.

Thanks for the clarification, that does make sense. For some reason I thought that Apple had changed the way this works and it was now possible use a certificate created using your Apple ID if you were distributing your app outside of the App store.

You can codesign using a self-signed certificate, but GateKeeper will complain since you will still be unidentified.

Sign an app to distribute it outside of the app store
 
 
Q