Xcode 11 beta 在虚拟机中启动时崩溃

Xcode 11 beta crashes when starting in Virtual machine

我刚刚下载了 Xcode 11 beta 并安装在 vm 环境中。尝试启动新的 playground 或项目时,xcode 退出并显示以下错误代码。知道如何解决吗?

Process:               Xcode [426]  
Path:                  /Applications/Xcode-beta.app/Contents/MacOS/Xcode  
Identifier:            com.apple.dt.Xcode  
Version:               11.0 (14855.18)  
Build Info:            IDEFrameworks-14855018000000000~13  
Code Type:             X86-64 (Native)  
Parent Process:        ??? [1]  
Responsible:           Xcode [426]  
User ID:               501  


Date/Time:             2019-06-08 08:13:37.785 -0700  
OS Version:            Mac OS X 10.14.5 (18F132)  
Report Version:        12  
Anonymous UUID:        CB32DBDA-4F6E-4212-F810-C52C80FFD0CD 

Link 到完全错误: https://pastebin.com/fFhcadtZ

我在 Parallels 上尝试了同样的操作(安装了工具),但也观察到了崩溃。我怀疑问题出在虚拟化软件不支持 Metal。注意主线程上的堆栈跟踪:

0 com.apple.dt.SourceEditor 0x0000000120ccb5cb specialized static MinimapMetalLinesLayer.defaultDevice() + 491 1
com.apple.dt.SourceEditor 0x0000000120cc959c MinimapMetalLinesLayer.init() + 284

"Minimap"是Xcode11的新特性,它是右边一栏源代码的鸟瞰图(类似于Sublime文本编辑)。还要注意提到的 Metal,Apple 的图形 API。为了检验这一理论,我打开了 Xcode 10(在同一个 VM 中)并尝试构建 Apple 的一个示例。我收到以下错误,这似乎证实了我对 Parallels 无法支持使用 Metal 的应用程序的怀疑。

2019-06-09 09:15:17.875253-0400 HelloTriangle[652:7547] *** Assertion failure in -[AAPLViewController viewDidLoad], /Users/ZestyMeta/Downloads/UsingARenderPipelineToRenderPrimitives/Application/AAPLViewController.m:27 2019-06-09 09:15:17.875403-0400 HelloTriangle[652:7547] Failed to set (contentViewController) user defined inspected property on (NSWindow): Metal is not supported on this device

我没有尝试在 VirtualBox、VMWare 等中安装 macOS Catalina / Xcode 11。但除非他们支持 Metal,否则崩溃也会在那里发生。如果您正在测试 Catalina(这是 macOS 上 SwiftUI 所必需的),不幸的是,目前的解决方案似乎是安装在备用设备上或 dual boot.

这可能应该是评论,而不是答案,但我缺乏这样做的声誉。 Here 是开发小地图的 xcode 开发者,表明虽然小地图确实需要金属,但 xcode 不应该在金属不可用时崩溃。希望他实施了一个补丁,以便在下一个版本中优雅地失败。截至目前,没有解决方法。对主题的回复:

defaults write http://com.apple .dt.Xcode DVTTextShowMinimap -bool NO

并不能防止崩溃,正如那里提到的那样。

它已在 XCode 11 beta 2 中修复,可在 developer.apple.com !!!

上使用

2019 年 6 月 17 日。

  1. 您不需要 MacOS Catalina,只需要 Mojave 10.14.4 及更高版本(当前为 10.14.5)。
  2. 我在 Windows 上使用 VMware 安装 Mojave 和 XCode beta 2。