My xojo app has a feature to Zip an entire app (using ZipMBS https://www.monkeybreadsoftware.net/compression-zipmbs-method.shtml ) as a convenience feature. This .app.zip file can then be sent to another mac user, who can unzip and run it. This has worked great for years on mac OS 10.10 through 10.14
But these Zip files no longer work on Catalina. Double-clicking one invokes Archive Utility (as expected) and you get an App file (as expected) but when you double-click the app, the Finder says “The application XXX can’t be opened”.
Further digging reveals permissions problems:
for Contents/MacOS/
Catalina: drwxrwxr-x (775) (wrong)
Mojave: drwxr-xr-x (755) (right)
for Contents/MacOS/MyApp
Catalina: -rw-rw-r-- (664) (wrong)
Mojave: -rwxr-xr-x (755) (which works)
This is weird - the MacOS folder (which should be 755) permissions is getting 775 (which is less secure) but the executable inside it is getting 664 (which prevents it from running at all).
- This doesn’t seem to be a Gatekeeper issue - the problem shows up whether or not the .app.zip file is quarrantined.
- manually fixing the permissions after unzipping fixes it:
chmod +x MyApp.app/Contents/MacOS/MyApp
- Using the built-in Archiver utillity (e.g. Right-Click in Finder and choose “Compress”) in Catalina doesn’t have this issue - the Zip files it creates can be unzipped on Catalina and work fine.
This really feels like a Catalina bug to me. Any ideas?
p.s. the way that zip files handle unix permissions is explained here: https://unix.stackexchange.com/questions/14705/the-zip-formats-external-file-attribute
Basically there is a flag field in which you set the rwxrwxrwx bits for the desired permission. Nothing has changed in my Zip code and I’m pretty sure these are correct.