13

I bought this app called Xee from the Mac app store. It can open files perfectly fine but when I try to browse through a folder from within the Xee app, it has to request permission. (See the screenshot below.) I have to do this for every folder the first time I browse it.

I assume that this is a limitation imposed by the app store. Is there any way to circumvent this and grant an app (installed on my machine) permission to view any directory, or even to do anything at all that it wants?

Screenshot

  • 1
    This is called - Security. And you most likely do not want an app to have full access to ANY folder on your system. – Rob Jan 31 '14 at 8:48
  • Does this only occur for files/folders outside your user folder or also for stuff inside? – nohillside Jan 31 '14 at 8:56
  • @patrix It happens inside my user folder. – Brian Gordon Jan 31 '14 at 18:38
4

It's a bit tricky but, but you can remove the sandbox by changing the <key>com.apple.security.app-sandbox</key> value (which is set to <true/>) with a hex editor.

In macOS Sierra 10.12 set it to into <false/>
In macOS El Capitain 10.11 or earlier set it to <fals/>

For Xee you need to edit the following binaries:

  • /Applications/Xee³.app/Contents/MacOS/Xee³
  • /Applications/Xee³.app/Contents/Loader/Xee3.ImageLoader

Source: https://stackoverflow.com/questions/7018354/remove-sandboxing

  • Thank you! It works. Don't forget to chmod a+x the files if you used your hex editor to create new files. – Brian Gordon Mar 14 '16 at 22:18
  • Also, hexed.it is fantastic. – Brian Gordon Mar 14 '16 at 22:18
  • 1
    This isn't really a solution going forward. App Sandboxing is more and more necessary as time goes on, so working with it is better than working against it – Ben Leggiero Jul 31 '18 at 14:10
  • Consider providing feedback to Apple about this limitation and how it limits your workflow. Customer feedback will help shape what Mac App Store apps can and can not do in the future. For now, apps bought through the Apple Mac App Store are limited. – Bob Fanger Aug 2 '18 at 9:20
20

The app is sandboxed. This means the application has been code signed with a set of entitlements. These entitlements are being enforced by Mac OS X. Apple's developer documentation on sandboxing provides more detail.

You can view Xee's sandbox entitlements using the following Terminal.app command:

codesign --display --entitlements - /Applications/Xee.app

Ole Begemann's article, Checking Code Signing and Sandboxing Status in Code, explains more.

Resign or Strip Entitlements

To remove the entitlements, you need to re-code sign the application without entitlements - using codesign - or entirely strip the code signing from the application.

Ask Xee's Developers

Modifying a Mac application is not recommended. Ask Xee's developers for help on how to work around this behaviour; only they have the appropriate knowledge to solve this problem.

Xee's developers do appear to be aware of the issue:

(Note that the App Store version is sandboxed, while the non-App Store trial and full versions are not sandboxed. If you prefer the safety of the OS X sandbox, you should get the App Store version. However, the sandboxed version needs to ask you for permission for certain operations, and if you find this annoying, you should get the non-App Store version.)

Tell Apple

Consider providing feedback to Apple about this limitation and how it limits your workflow. Customer feedback will help shape what Mac App Store apps can and can not do in the future. For now, apps bought through the Apple Mac App Store are limited.

  • 2
    Stellar answer on sandboxing - well done covering a complicated topic in a readable manner. – bmike Jan 31 '14 at 14:52
-4

Try copying the app contents to your hard drive and open from there. Maybe the app is protecting their files from itself.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.