如何删除沙盒应用程序中的应用程序?
我想删除macOS高Sierra上的/ Applications文件夹中的应用程序(我不确定确切的操作系统真的很重要)。如何删除沙盒应用程序中的应用程序?
但我根本无法弄清楚,如何从沙盒应用程序这样做。在Mac App Store中有几个(实际上很多)可以做到这一点的应用程序。
当选择一个应用程序时,会显示一个提示,我可以在其中键入我的密码。
首先我试着创建一个辅助工具,然后调用SMJobBless。但失败后,我发现这是不可能在沙盒应用程序(有点合理,因为你可以完全绕过沙箱?)。
然后我试着写一个AppleScript。这确实工作正常,显示提示,文件被删除或移动到垃圾箱。 我不得不添加的权利:
com.apple.security.temporary-exception.apple-events
我已经加入co.apple.finder作为子节点就像我说的一切工作正常。不幸的是,这个权利是不允许在Mac App Store中使用的(再次,这是有道理的)。
现在我的问题是...如何将文件移动到垃圾箱(我不需要自己删除它,如果用户必须手动清空垃圾箱,这样可以)。 所有其他应用程序如何做到这一点?
我想到的唯一方法是打开一个NSOpenPanel,并让用户选择要删除的应用程序。没有太多的MAS批准的方式来捅过沙盒。
需要安全书签才能读取应用程序文件夹的内容。但是(重新)移动文件需要更高的权限(管理员提示)。 –
我刚试过;如果您以管理员用户身份登录并且拥有安全书签,那么确实可以删除/ Applications中的所有内容(只要它们属于当前用户)(显然它不适用于系统级别的用户)提供的应用程序和/或您当前用户无权写入的任何内容)。 –
我以具有管理员权限的用户身份登录。但是,当试图从应用程序文件夹中删除一个文件(使用安全书签)时,我收到一个错误。您的应用是否为沙盒? –
注册具有安全范围书签的应用程序文件夹。这是我能想到的唯一方法。 –