standalone correctly code signed and notarized, but still quarantine and translocation
Hello all,
I have created a standalone for my sound spatialisation application NESS.
The application needs to have access to a preset folder that is in the same folder and contains some files for reverb convolution that must be accessible to the users to customise it.
Once successfully compiled, I code sign it with a recursive script, notarize it and staple it as usual. it worked perfectly on the last two versions of the app, and still works on this version.
But when I put it online, if a user downloads it, it gets the quarantine attribute. at the first launch, gatekeepers opens, says that it has been downloaded, checked by apple and no malware has been found (meaning that the notarisation has worked as expected), but do no lift the quarantine attribute. it results in the app launched in a random folder (translocation) and missing the files it needs.
Of course I can just clear the quarantine attribute with the terminal and everything works, but as I want to distribute it to audio professionals, I don't want them to be obliged to do this workaround.
does anyone knows why does this app correctly notarized still has the quarantine attribute ?
I tried to compile it with several version of Max, it does not change anything.
I don't understand why it worked on the last versions and not on this one.
I read that some people experienced some trouble with the shell object, could this object be the cause of the quarantine attribute that is still present ?
Hi,
I have the same problem and I'm not using the shell object.
A solution ?
I finally managed to distribute it buy packaging it in a .dmg file instead of a .zip file.
It also made the installation more clean, and the notarization and stapling easier.
Here is a tutorial to create the dmg:
https://gist.github.com/jadeatucker/5382343
I still do not know why it did not work with the zip file. The translocation process is undocumented, and even the Apple staff who gave me some clues was not able to point out the exact error. They often expect you to use their environments (i.e. xcode) but finding the root cause on a max msp compilation is hard. It seems that zip files and dmg are not subject to the same rules for quarantine and translocation.
Some interesting posts about translocation :
https://eclecticlight.co/2022/09/06/dont-run-that-app-where-it-landed-how-translocation-can-cause-crashes/
https://eclecticlight.co/2023/05/09/what-causes-app-translocation/
https://mjtsai.com/blog/2023/05/10/app-translocation-in-ventura/