如何在沙盒App中删除应用程序?

时间:2017-08-01 17:24:43

标签: macos sandbox appstore-sandbox entitlements

我正在尝试删除macOS High Sierra上/ Applications文件夹中的一个应用程序(我不认为确切的操作系统真正重要)。

但我简直无法弄清楚,如何从沙盒应用程序中做到这一点。在Mac App Store中,有一些(实际上很多)应用程序可以做到这一点。

当选择某个应用时,会显示一个提示,我可以输入密码。

首先,我尝试创建一个辅助工具,然后调用SMJobBless。但是在失败之后我注意到这在沙盒应用程序中是不可能的(有点理由,因为你可以完全绕过沙箱?)。

然后我试着写一个AppleScript。这确实很好,显示提示,文件被删除或移动到垃圾箱。 我不得不添加权利:

com.apple.security.temporary-exception.apple-events

我已将co.apple.finder添加为子节点,就像我说一切正常。不幸的是,Mac App Store中不允许使用此权利(这也是有道理的。)

现在我的问题是......如何将文件移动到垃圾箱(我不需要自己删除它,如果用户必须手动清空垃圾箱就没问题)。 所有其他应用程序如何做到这一点?

1 个答案:

答案 0 :(得分:2)

我能想到的唯一方法就是打开一个NSOpenPanel,让用户选择你想要删除的应用程序。没有太多经MAS批准的方法可以在沙箱之外穿过它。