I am sharing some data between a Xojo macOS desktop app and a macOS screensaver written in Xcode.
The macOS app writes some data in /Application Support/com.mycomp.myapp/prefs.json
The screensaver reads this prefs.json and uses the data to build graphics.
This is working fine in Mojave but doesnt work anymore in Catalina.
The screensaver is placed in the resource folder of the app and everything was notarized and codesigned using App Wrapper.
The screensaver is installed by the desktop app (using file.Launch).
I though I could solve this using an « application group », but this option is not available for screensavers.
It seems application preferences can not be used by other applications.
-The screensavers are running in a special legacyScreenSaver sandbox in Catalina.
-When my obj-c wants to get the NSApplicationSupportDirectory its not the Application Support folder Im getting within the Xojo app using SpecialFolder.Application.
SpecialFolder.ApplicationData: /Users/UserName/Library/Application Support
NSApplicationSupportDirectory: /Users/UserName/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application Support
So my question is: how can I share data between 2 sandboxed apps ?