我从Mac应用商店购买了名为Xee的应用。它可以很好地打开文件,但是当我尝试从Xee应用程序中浏览文件夹时,它必须请求权限。(请参见下面的屏幕截图。)我第一次浏览每个文件夹时都必须这样做。
我认为这是应用商店施加的限制。是否有任何方法可以绕过此过程并授予应用程序(安装在我的计算机上)查看任何目录的权限,甚至可以执行任何所需的操作?
我从Mac应用商店购买了名为Xee的应用。它可以很好地打开文件,但是当我尝试从Xee应用程序中浏览文件夹时,它必须请求权限。(请参见下面的屏幕截图。)我第一次浏览每个文件夹时都必须这样做。
我认为这是应用商店施加的限制。是否有任何方法可以绕过此过程并授予应用程序(安装在我的计算机上)查看任何目录的权限,甚至可以执行任何所需的操作?
Answers:
有点棘手,但是您可以通过使用十六进制编辑器更改<key>com.apple.security.app-sandbox</key>
值(设置为< true
/>)来删除沙箱。
在macOS Sierra 10.12中将其设置为< false
/>
在macOS El Capitain 10.11或更早版本中将其设置为< fals
/>
对于Xee,您需要编辑以下二进制文件:
资料来源:https : //stackoverflow.com/questions/7018354/remove-sandboxing
chmod a+x
如果您使用十六进制编辑器来创建新文件,请不要忘记这些文件。
该应用已沙箱化。这意味着已使用一组权利对应用程序进行了代码签名。这些权利由Mac OS X强制执行。Apple的沙盒开发人员文档提供了更多详细信息。
您可以使用以下Terminal.app命令查看Xee的沙盒权利:
codesign --display --entitlements - /Applications/Xee.app
Ole Begemann的文章“ 检查Code中的代码签名和沙箱状态”进一步说明了这一点。
要删除权利,您需要重新编码没有权利的应用程序签名 -使用codesign
-或从应用程序中完全剥离代码签名。
不建议修改Mac应用程序。向Xee的开发人员寻求有关如何解决此问题的帮助;只有他们具备解决此问题的适当知识。
Xee的开发人员似乎确实知道此问题:
(请注意,App Store版本是沙盒,非App Store试用版和完整版没有沙盒。如果您更喜欢OS X沙盒的安全性,则应该获取App Store版本。但是,沙盒版本需要要求您进行某些操作的许可,如果您感到烦恼,则应获取非App Store版本。)
考虑向Apple提供有关此限制以及它如何限制您的工作流程的反馈。客户的反馈将帮助塑造Mac App Store应用程序将来可以做什么和不能做什么。目前,通过Apple Mac App Store购买的应用程序数量有限。