Using a Python utility called py2app, I've built a distributable .app. from a Python-based project.

It launches fine (when double-clicked) on my own machine, yet when tried elsewhere (other users on other Macs), the user gets warned that the application is from an unknown developer, and he/she has to jump through the hoop of holding Ctrl then right-clicking, or the less secure 'allow from anywhere' option on System Preferences.

Excuse my ignorance, but what step(s) need to be taken such that this is not required?

1 Answer 1


Sign up with Apple as a paid developer and you can use your Mac App signing certificate to sign that app before distributing it. Your Apple ID will then allow Apple to trace things back to you should you sign something malicious and it comes to their attention.

You're looking for the Mac Provisioning Certificate that Apple will sign and deliver you you from https://itunesconnect.apple.com

The alternative would be to disable gatekeeper, but I'm presuming you want to know how to have your app be accepted by many Macs without needing each one to bypass the settings globally or grant a one-time exception to your app each time you update it.

  • Mike, thanks. I'll go off and do my homework based on those links, but very quickly based on quick scan of them, if the app is only intended for direct download (not published in the App Store), is a free Developer Account sufficient for signing the app? Or is this even needed, and I can instead go the XCode/OpenSSL + codesign route?
    – Pyderman
    Jan 19, 2016 at 19:15
  • No @Pyderman - Apple grants no certificates other than iOS self-signing for Xcode on your Mac with your Apple ID to your connected iOS device using your Apple ID. You have to pay to get all the other certificates - including the one you need for signing a Mac app. You could possibly contact with someone to sign your app if they were comfortable doing so, but I'm not a lawyer to know if that's in accordance with the developer agreement you sign.
    – bmike
    Jan 19, 2016 at 19:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .