XCode 13 SwiftUI“无法在此文件中预览 - 更新消息发送失败”

Jr7*_*795 6 xcode swiftui

在处理现有的 XCode 项目时,模拟器开始持续崩溃。预览窗口不会显示当前文件,并带有红色横幅和以下错误:

MessageSendFailure: Message send failure for update
==================================
|  MessageError: Connection interrupted
Run Code Online (Sandbox Code Playgroud)

我努力了:

  • 重新启动 XCode
  • 重新启动 Mac
  • 清理项目
  • 删除派生数据
  • 删除本地副本并从 GitHub 克隆

似乎什么都不起作用。有谁知道如何解决这个问题?之前还好好的,现在好像突然就坏了。

我正在使用 XCode 13.2.1

编辑:这仅影响此应用程序。其他项目仍然运行良好

Jr7*_*795 12

我设法通过将预览中的 ContentView() 调用包装在 ZStack 中来解决此问题。这是在预览窗口正在渲染的顶级视图中使用时由 @FocusState 引起的已知错误。

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ZStack {
            ContentView()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

信用:https ://developers.apple.com/forums/thread/681571?answerId=690251022#690251022

  • 自发布以来我一直无法使用预览。事实上,这个解决方法对我有用是荒谬的。 (5认同)

BPS*_*BPS 8

退出 XCode 并运行以下终端命令:

xcrun simctl --set previews delete all
Run Code Online (Sandbox Code Playgroud)

然后打开您的项目,构建它并尝试重新加载预览。