1

我有一个在启动时安装 DriverKit 系统扩展的应用程序。

如果我随后将此应用程序拖到 Bin 中,/Applications则会提示我该应用程序还管理系统扩展,并且系统扩展也将被删除。

我想要一个卸载程序来删除该应用程序。我尝试使用 删除卸载程序中的应用程序rm -rf,但系统扩展名未删除。

我还尝试了trash终端实用程序(可以安装brew install trash)来检查是否可以从卸载程序中使用类似的东西,但没有运气。

有没有办法以编程方式删除应用程序以及应用程序安装的系统扩展。

4

1 回答 1

2

好问题!我没有一个完全成熟的答案,但是有足够的建议可以尝试它们不适合评论,所以无论如何都要这样:

  • 尝试使用 Cocoa API 来“丢弃”文件。这个答案给出了一个很好的概要。我不知道这将如何应对系统扩展确认。
  • 如果您确实弹出确认对话框,使用 AppleScript 告诉 Finder 删除文件是一个很好的方法。我可以确认此答案中给出的解决方案有效,但它显示确认对话框,这可能是也可能不是您想要的。
  • systemextensionsctl uninstall您可以使用该命令卸载系统扩展(包括 dext) 。不幸的是,这总是会弹出一个身份验证对话框,即使您以 root 权限运行它也是如此。但取决于你在做什么,这可能比上述更可取。
于 2020-10-06T08:39:39.220 回答