[macOS翻译]在 Mojave 上运行 TotalFinder 和 TotalSpaces2

39 阅读2分钟

本文由 简悦 SimpRead转码, 原文地址 stage.blog.binaryage.com

从 Sierra 和 High Sierra 到 Mojave

2017 年的这篇文章 中,我们谈到了如何找到一种方法,在打开系统完整性保护 (SIP) 的情况下运行我们的应用程序 TotalFinder 和 TotalSpaces2。之所以能做到这一点,是因为安装过程会将我们的插件组件安装到受信任的位置,同时关闭 SIP,允许用户在安装后再次打开 SIP。

不幸的是,在 macOS 10.14 Mojave 中,这种情况已不复存在--苹果公司修改了验证码,因此即使我们的插件安装在以前正常运行的受信任位置,也不可能在 SIP 打开的情况下运行。

这意味着,要在 macOS Mojave 上运行我们的应用程序,必须关闭 SIP。

我们知道这很令人失望,而且有些人并不想这样做。

不运行系统完整性保护时,你的机器可能会不太安全。修改或临时修改设置完全由你自己决定。

如果你想了解有关 SIP 的更多信息,请参阅维基百科。Apple 也提供了 此处的一些信息

我们提供了有关如何安装 TotalFinder hereTotalSpaces2 here 的最新说明。

技术细节

在 Mojave 中,Apple 为注入代码添加了额外的签名检查。这意味着我们的插件将无法加载,除非我们能用 Apple 证书对其进行签名。我们没有办法绕过这个问题,只能告诉你如何通过禁用 SIP 来绕过保护。

事实上,TotalFinder 和 TotalSpaces2 只需关闭调试和文件系统保护即可运行,高级用户可能需要在恢复模式下的终端中使用此命令:

csrutil enable --without debug --without fs

不过系统会抱怨说这是一个不支持的配置,我们无法知道未来的更新是否会破坏它。

接下来呢?

TotalFinder 和 TotalSpaces2 的发展势头不错,但要支持这些产品确实越来越困难。这是由于苹果公司增加了额外的保护措施、技术不断变化(尤其是越来越多地使用比 Objective C 更难集成的 Swift),以及缺乏苹果公司提供的 API 来完成我们客户所希望的系统修改。

我们将在 macOS 10.14 Mojave 的整个生命周期内继续支持这两款产品,但很可能在未来的版本中,也许是明年的 10.15,也许是更晚的版本,我们根本无法使用这两款产品。但现在,如果您希望运行 TotalFinder 或 TotalSpaces2,我们会尽最大努力为您提供服务。