使用 hackintosh(i7-4790K 4GHz,16GB DDR3,GF980Ti)在 Xcode(Swift 和 Objective-C)上开发大约一年,从未出现任何错误。但是现在我需要使用 Instruments 应用程序(例如 Leaks、Allocations、Energy Log、System Trace 等)——但我不能!当我启动任何这些应用程序时,我只看到透明窗口,没有任何可见信息。
3 回答
编辑:正如@Eike 在他的回答中所说,从 10.13 开始,面临这个问题的仪器和其他应用程序开箱即用。对于 10.12,NVWebDriverLibValFix kext 是一个更好/更少侵入性的修复程序,并避免了一些权限问题。这个答案现在应该被认为是过时的。
Instruments 是 Apple 分发的代码签名应用程序。其中一些应用程序被标记,因此它们拒绝加载未经 Apple 签名的库。Nvidia Web Driver 未由 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
这基本上从根本上解决了问题,并且是让 Nvidia 驱动程序真正由 Apple 签名的下一个最佳选择。
对于 10.13 / High Sierra,Web-Driver 应该可以在没有任何修改/修改的情况下工作(更新时应该将其删除)
这是最近的 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。请参阅上面链接中的帖子 #72。解决了我的 Hackintosh 上的透明窗口问题。
另一种解决方案是移除 nVidia 显卡并仅使用 Intel HD4600,但这样您当然会失去 GTX980Ti 的功能。
更新:我推荐 Nax 的解决方案,它在各个方面都更好。但是,此 codesign 命令不适用于透明 iBooks 窗口。如果您重新签署 iBooks,它将在启动时崩溃。