在 hackintosh 上使用 Xcode 工具

Using Xcode Instruments on hackintosh

使用 hackintosh(i7-4790K 4GHz,16GB DDR3,GF980Ti)在 Xcode(Swift 和 Objective-C)上开发大约一年,从未出现任何错误。 但现在我需要使用 Instruments 应用程序(如 Leaks、Allocations、Energy Log、System Trace 等)——但我不能!当我启动这些应用程序中的任何一个时,我只看到透明的 window,没有任何可见信息。

这是最近的 nVidia macOS Web 驱动程序的一个已知问题。不仅在 XCode Instruments 中,它还会出现在 iBooks 中,当您打开一本书进行阅读时也会出现。人们在 Apple 支持论坛上报告了这个问题,在正版 Mac 上使用 Web 驱动程序 - 所以它不仅影响 Hackintosh PC。

查看此线程:https://www.tonymacx86.com/threads/nvidia-web-driver-ibooks-bug.203229/page-8

临时修复:在 i7-4790K 中启用 Intel HD4600 显卡。确保它在 UEFI BIOS 中启用,并注入了 Clover。请参阅上面 link 中的 post #72。在我的 Hackintosh 上使用透明 window 解决了我的问题。

另一种解决方案是移除 nVidia 显卡并仅使用 Intel HD4600,但这样你当然会失去 GTX980Ti 的性能。

更新:推荐Nax的方案,各方面都比较好。但是,此代码签名命令不适用于透明 iBooks window。如果您重新签署 iBooks,它将在启动时崩溃。

编辑: 正如@Eike 在他的回答中所说,面临此问题的仪器和其他应用程序从 10.13 开始开箱即用。对于 10.12,NVWebDriverLibValFix kext 是一个 better/less 侵入性修复并避免了一些权限问题。这个答案现在应该被认为是过时的。


Instruments 是由 Apple 分发的代码签名应用程序。其中一些应用程序已被标记,因此它们拒绝加载未经 Apple 签名的库。 Nvidia Web 驱动程序未经 Apple 签名,因此未加载,导致您描述的行为。

接受的答案告诉您通过加载另一个由 Apple 签名的驱动程序来解决此问题。虽然这肯定会起作用,但我更喜欢用另一种方式来做:强制 Instruments 加载 nvidia 驱动程序。

您可以使用以下命令重新签署 Instruments 二进制文件:

sudo codesign -f -s - /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/MacOS/Instruments

然后它将很好地加载 Nvidia 驱动程序和 运行。

不幸的是,最喜欢的答案中的签名修复阻碍了 Instruments 的执行权,因此虽然它可见,但时间分析器将无法工作。

幸运的是,来自其他答案的 iBooks 线程尚未结束,建议(和提供)的解决方案是使用使 Nvidia 驱动程序看起来经过验证的内核扩展。

https://github.com/mologie/NVWebDriverLibValFix

这基本上从根本上解决了问题,仅次于让 Apple 实际签署 Nvidia 驱动程序。

随着 10.13/High Sierra Web-Driver 应该在没有任何破解/修改的情况下工作(更新时应该删除它)