prusa3d / PrusaControl

PrusaControl is an alternative user interface for Slic3r Prusa Edition
http://prusacontrol.org
GNU General Public License v3.0
128 stars 45 forks source link

[macOS]: The app is not signed with Developer ID = cannot be launched normally without a workaround #79

Open dusek opened 6 years ago

dusek commented 6 years ago

When downloading PrusaControl (either to first install, or to update the app), then on first opening the app in the normal way (spotlight, or double-clicking it), one sees the following error:

screen shot 2018-02-25 at 08 34 57

The trick (workaround) is to reveal the app in Finder (e.g. in /Applications), right-click it, and then choose "Open" from the menu. What is next shown is a dialog which finally offers an option to Open the app (though it still informs the user that the app is from an unidentified developer):

screen shot 2018-02-25 at 08 35 45

After doing this for the first time, the system adds an exception to allow launching this app in the normal way (e.g. by double-clicking it, from spotlight, or from Dock if the user added it there).

Please note that from my general experience, the exception is valid only for the specific version of the app (the system probably stores a hash of the executable or something like that): whenever the user downloads an update of the app and installs it, then the whole situation will be the same as when they first downloaded PrusaControl for the first time: it will not be possible to open the app in the normal way (double-click, spotlight) which will show the above shown error, and the "trick" with "Open" in context menu will need to be done first.

The solution is to sign the Application with a Developer ID certificate from Apple. This would allow users with default GateKeeper settings ("Allow apps downloaded from: App Store and identified developers", which is the weakest option available btw.) to run PrusaControl without hassle on the first run or after each update.

See also: Developer ID and Gatekeeper documentation by Apple. See also: Recipe OSX Code Signing on pyinstaller Wiki may be useful