I'm experimenting with full-disk access and can't make it working. Here is list of steps I did:
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.bookmarks.app-scope</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
I'm testing it in Xcode 11 and on Catalina. It's dummy app, opening NSOpenPanel
to let user select archives to decompress and tries to decompress it in the same directory.
In fact it's not about NSOpenPanel
, the question is:
What is necessary to do to make sandboxed app using full-disk access?
Any hints? Am I doing anything wrong?
Enable Full Disk AccessOpen System Preferences ▸ Security & Privacy. Select the Privacy tab. Select Full Disk Access, then click the lock icon. Use your Touch ID or enter your system administrator credentials and click Unlock.
Full Disk Access is a security feature, introduced in macOS Mojave, that requires applications to be given full permission to access user-protected files. If not enabled, some data on the Mac will not be accessible.
Here is solution found for iTerm2 (it is worth read how solution was found). It just adds this to application plist:
<key>NSSystemAdministrationUsageDescription</key>
<string>I want to read all your files</string>
Documentation is a bit fuzzy.
Sadly this solution doesn't work for launchctld
daemons (this is what I need). I think daemons are an exception since the do not see UI at all.
But for regular applications it should work like a charm (didn't test it yet).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With