mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
more about gatekeeper and notarization
@@ -33,6 +33,43 @@ The Presentation Mode simply clears the rest of the screen when running the sket
|
||||
|
||||
# macOS
|
||||
|
||||
### Signing and Notarization
|
||||
|
||||
Applications on macOS must be *signed* and *notarized* or they will be reported as damaged or unsafe.
|
||||
|
||||
During the Export to Application process, Processing will attempt to *self-sign* your app, which at least makes it possible for you to run the application, period. In order to self-sign, you must first have the Xcode command line tools installed. You'll be prompted to do this in the Export dialog box, or you can do it from the Terminal by typing `xcode-select --install`.
|
||||
|
||||
If you package your app and share it with someone else, they may see a message like:
|
||||
|
||||
**“FriederNake.app” can't be opened because Apple cannot check it for malicious software**
|
||||
|
||||
This means that the application is not fully signed and notarized. To fix, there are three options:
|
||||
|
||||
1. Right-click and select “Open” from the pop-up menu. This will give you a slightly different dialog box, which will allow you to still Open the app.
|
||||
|
||||
2. Open a Terminal window and type:
|
||||
|
||||
xattr -d com.apple.quarantine /path/to/FriederNake.app
|
||||
|
||||
or if that still does not work, try:
|
||||
|
||||
xattr -cr /path/to/FriederNake.app
|
||||
|
||||
Tip: you can get the full path to your app (the `/path/to/FriederNake.app` part above) by dragging the `.app` file into the Terminal window. So type `xattr -cr `, then drag the app into the window, then hit return. Done!
|
||||
|
||||
3. Get an Apple Developer account so that you can sign and notarize your software.
|
||||
|
||||
This costs $99/year, and also means learning about Gatekeeper and Developer IDs. Some helpful resources to get your started:
|
||||
|
||||
* [Creating Distribution-Signed Code for Mac](https://developer.apple.com/forums/thread/701514)
|
||||
|
||||
* [Packaging Mac Software for Distribution](https://developer.apple.com/forums/thread/701581)
|
||||
|
||||
* Also check out the official documentation for [Gatekeeper](https://support.apple.com/en-us/HT202491) and [Developer IDs](https://developer.apple.com/developer-id/)
|
||||
|
||||
|
||||
### Other macOS notes
|
||||
|
||||
* An application for macOS can only be exported from macOS. This is due to the complexity of how Java works on macOS, and the limitations of the [appbundler](https://github.com/TheInfiniteKind/appbundler) library that we use.
|
||||
|
||||
* You can also customize the exported application automatically by copying the `Info.plist.tmpl` file from inside the Processing.app package into your sketch (copy it from `Processing.app/Contents/Java/modes/java/application/Info.plist.tmpl`). Any changes made to that copy of `Info.plist.tmpl` will be used whenever that sketch is exported.
|
||||
|
||||
Reference in New Issue
Block a user