HOWTO macOS notarization (plugins, app, pkg installers)
-
- KVRer
- 21 posts since 25 Jan, 2013
e-phonic reported that plugin require notarization to work: viewtopic.php?p=7549797#p7549797
I uses the same steps as his (you also quoted them in your original post), but the staple part is missing.
From what I understand notarization can still work without the ticket being stapled, but will require the machine to be online in this case. I have a feeling this will generate support issues...
I uses the same steps as his (you also quoted them in your original post), but the staple part is missing.
From what I understand notarization can still work without the ticket being stapled, but will require the machine to be online in this case. I have a feeling this will generate support issues...
-
- KVRer
- 21 posts since 25 Jan, 2013
Here is the detail from the error I get when stapling the ticket to Contents/MacOS/XXX :
It looks like it tries to erase a directory that does not exist in a plugin bundle...
Code: Select all
Could not remove existing ticket from XXX.vst3/Contents/MacOS/XXX/Contents/CodeResources
(...)
Error Domain=NSCocoaErrorDomain Code=512 "“CodeResources” couldn’t be removed."
(...)
{Error Domain=NSPOSIXErrorDomain Code=20 "Not a directory"}
-
- KVRAF
- Topic Starter
- 5632 posts since 18 Jul, 2002
Based on this, there no need for plugin notarization at all.audiothing wrote: Sat Oct 19, 2019 3:38 pmFrom that link:e-phonic wrote: Sat Oct 19, 2019 12:49 pmYou can find some info about notarizing plugins here:
https://developer.apple.com/documentati ... n_workflowI only submit the dmg with a pkg installer containing the plugins and I can confirm that the PKG gets notarized as well. If I check the notarization for the plugins with the commandThe notary service generates a ticket for the top-level file that you specify, as well as each nested file. For example, if you submit a disk image that contains a signed installer package with an app bundle inside, the notarization service generates tickets for the disk image, installer package, and app bundle.I get this:Code: Select all
spctl --assess --verboseI don't know if there's a specific command to check notarization for plugins, but according to that document, by submitting a pkg or a dmg with a pkg inside, we should be good to go.Code: Select all
rejected (the code is valid but does not seem to be an app)![]()
-
- KVRer
- 21 posts since 25 Jan, 2013
e-phonic experience was that notarization was needed:
e-phonic wrote: Sat Oct 19, 2019 10:36 amIt’s a .vst.discoDSP wrote: Sat Oct 19, 2019 8:17 amAre you referring to .app or .component/vst/vst3/aax?e-phonic wrote: Sat Oct 19, 2019 5:53 amAs far I know, plugins also need to be notarized. I couldn't run my signed plugins after they are downloaded from the internet. After notarization they run fine.discoDSP wrote: Sat Sep 14, 2019 12:26 pm
AFAIK Plugins are not required/able to be notarized but they have to be digitally signed else they won't load in the DAW.
PJ
I have the latter signed only and they run fine on Catalina.
When it’s signed it seems to run fine first. But when I upload it and download it again, it will not run anymore. I’ve read somewhere in the documentation that all software needs to be notarized. They specifically mention plugins too.
- KVRAF
- 2034 posts since 13 Apr, 2011 from EU
Notarization is indeed needed for plugins, but if you are distributing through a PKG or DMG (which contains a PKG), you can just notarize the PKG or the DMG, and everything inside will be notarized.
If you are distributing your plugins with a simple ZIP file, you still need to notarize that (you are actually notarizing the content of the ZIP). The problem here is that you can't staple a ZIP file (as far as I remember). But it worked when I tested it.
That said, distributing with a PKG is the way to go, it's easier for the user, and you can automate the whole process (PKG creation, signing, notarization + stapling) with just a small bash script.
If you are distributing your plugins with a simple ZIP file, you still need to notarize that (you are actually notarizing the content of the ZIP). The problem here is that you can't staple a ZIP file (as far as I remember). But it worked when I tested it.
That said, distributing with a PKG is the way to go, it's easier for the user, and you can automate the whole process (PKG creation, signing, notarization + stapling) with just a small bash script.
-
- KVRAF
- Topic Starter
- 5632 posts since 18 Jul, 2002
Now that it's clear I will place the quote at the OP thanks.audiothing wrote: Thu May 07, 2020 12:12 pm Notarization is indeed needed for plugins, but if you are distributing through a PKG or DMG (which contains a PKG), you can just notarize the PKG or the DMG, and everything inside will be notarized.
If you are distributing your plugins with a simple ZIP file, you still need to notarize that (you are actually notarizing the content of the ZIP). The problem here is that you can't staple a ZIP file (as far as I remember). But it worked when I tested it.
That said, distributing with a PKG is the way to go, it's easier for the user, and you can automate the whole process (PKG creation, signing, notarization + stapling) with just a small bash script.
-
- KVRer
- 21 posts since 25 Jan, 2013
Thanks AudioThing!
I was able to confirm this in my tests.
So the mains drawback is that the user needs to be online when using the plugin for the first time.
I don't know if that is mentioned in the thread, but I also found that removing the AU caches was needed when a unnotarized version of the plugin was previously installed on the machine.
I was able to confirm this in my tests.
So the mains drawback is that the user needs to be online when using the plugin for the first time.
I don't know if that is mentioned in the thread, but I also found that removing the AU caches was needed when a unnotarized version of the plugin was previously installed on the machine.
-
- KVRAF
- Topic Starter
- 5632 posts since 18 Jul, 2002
That's new. Thanks for pointing up. Wasn't just killing AudioComponentRegistrar enough?fuo wrote: Thu May 07, 2020 7:57 pm I also found that removing the AU caches was needed when a unnotarized version of the plugin was previously installed on the machine.
Code: Select all
sudo killall -9 AudioComponentRegistrar-
- KVRer
- 21 posts since 25 Jan, 2013
I did not try that, I did not know about that (I am new to MacOS).
Do you include these steps in your installer?
EDIT: looks like you do indeed: viewtopic.php?t=531117
Do you include these steps in your installer?
EDIT: looks like you do indeed: viewtopic.php?t=531117
-
- KVRer
- 9 posts since 23 Jan, 2009
From my experience, .zip files are frowned upon by browsers.
Also, the download plugin I use on my site for example doesn't allow .zip at all.
I've been using .dmg (and .exe for Windows) for distribution and never had issues.
- KVRist
- 486 posts since 2 Feb, 2005 from UK
Ok just a quick additional note. I was having problems getting my app to codesign, it kept telling me:
unsealed contents present in the bundle root
It turns out it wont get codesigned if you've added an application icon to your app, so the simple process of : click on your app, select GetInfo, click on the default icon, and paste in some other image
At this point your app has a nice friendly image of your choosing - and it WONT codesign - it has to have the default image in place - in my experience.
Not sure if you can add a friendly image after the codesign or after the notarizing...any one have any experience?
unsealed contents present in the bundle root
It turns out it wont get codesigned if you've added an application icon to your app, so the simple process of : click on your app, select GetInfo, click on the default icon, and paste in some other image
At this point your app has a nice friendly image of your choosing - and it WONT codesign - it has to have the default image in place - in my experience.
Not sure if you can add a friendly image after the codesign or after the notarizing...any one have any experience?
VST/AU Developer for Hire
- KVRer
- 25 posts since 18 Mar, 2017
unsealed contents present in the bundle rootLind0n wrote: Tue May 12, 2020 9:48 am Ok just a quick additional note. I was having problems getting my app to codesign, it kept telling me:
unsealed contents present in the bundle root
It turns out it wont get codesigned if you've added an application icon to your app, so the simple process of : click on your app, select GetInfo, click on the default icon, and paste in some other image
At this point your app has a nice friendly image of your choosing - and it WONT codesign - it has to have the default image in place - in my experience.
Not sure if you can add a friendly image after the codesign or after the notarizing...any one have any experience?
I got tripped up when I copied a notarized and stapled package over to a USB drive. macOS wrote hidden files (.DS_Store and ._.DS_Store) into the bundle root, which invalidated the notarization.
- KVRAF
- 1752 posts since 2 Jul, 2018
Looks like another Notarisation debacle just arrived with Big Sur:
Sounds like another 'planned obsolescence' from Apple's side. Customers are necessitated to buy new machines to be able use the new software
As a result in practise we would have to drop support for anything below 10.12 if we support Silicon
Another point:
Does it affect only signing the .pkg or also the code-signing?
I am not sure if code-signing and package-signing on two different machines works to pass the Notarisation.
And another one:
Are customers below 10.11 still able to install the software signed with Big Sur with "high-click +Open"?
Thanks a lot for this important info. I think you mean 'older than 10.12' (typo).FigBug wrote: Thu Nov 19, 2020 3:47 pm FYI: productsign on Big Sur is broken and not adding SHA1 hashes (only SHA256) so your pkg won't install on anything older than 11.12. Don't upgrade your build machines yet.
Sounds like another 'planned obsolescence' from Apple's side. Customers are necessitated to buy new machines to be able use the new software
As a result in practise we would have to drop support for anything below 10.12 if we support Silicon
Another point:
Does it affect only signing the .pkg or also the code-signing?
I am not sure if code-signing and package-signing on two different machines works to pass the Notarisation.
And another one:
Are customers below 10.11 still able to install the software signed with Big Sur with "high-click +Open"?
https://www.tone2.com
Our award-winning synthesizers offer true high-end sound quality.
Our award-winning synthesizers offer true high-end sound quality.
-
- KVRAF
- 7503 posts since 14 Nov, 2006 from Ankara, Turkey
Hi all,
My notarization script has been working fine, but recently Apple is rejecting
I codesign all binaries
I codesign all pkg files
and yet I am not getting errors like below:
"issues": [
{
"severity": "error",
"code": null,
"path": "SynthMasterDemoSetup.pkg/synthmastervstdemo.pkg Contents/Payload/Library/Audio/Plug-Ins/VST/SynthMaster2FX.vst/Contents/MacOS/SynthMaster2FX",
"message": "The signature of the binary is invalid.",
"docUrl": null,
"architecture": "x86_64"
},
My notarization script has been working fine, but recently Apple is rejecting
I codesign all binaries
I codesign all pkg files
and yet I am not getting errors like below:
"issues": [
{
"severity": "error",
"code": null,
"path": "SynthMasterDemoSetup.pkg/synthmastervstdemo.pkg Contents/Payload/Library/Audio/Plug-Ins/VST/SynthMaster2FX.vst/Contents/MacOS/SynthMaster2FX",
"message": "The signature of the binary is invalid.",
"docUrl": null,
"architecture": "x86_64"
},
Works at KV331 Audio
SynthMaster voted #1 in MusicRadar's "Best Synth of 2019" poll
SynthMaster One voted #4 in MusicRadar's "Best Synth of 2019" poll
SynthMaster voted #1 in MusicRadar's "Best Synth of 2019" poll
SynthMaster One voted #4 in MusicRadar's "Best Synth of 2019" poll
-
- KVRAF
- Topic Starter
- 5632 posts since 18 Jul, 2002
I remember some issues with
VST. Signing the specific file may fix it.
VST. Signing the specific file may fix it.
