Mic*_*ael 6
我有同样的问题,我可以在模拟器/真实设备中毫无问题地构建项目,但我无法利用 SwiftUI 预览功能。
我有相同的错误消息“消息发送失败”,其中诊断报告提到他们无法找到相关的 SwiftUI 视图文件。我已向 Apple 提出审查请求。
同时,我通过关闭“自动刷新画布”选项找到了解决方法
Xcode >> 编辑器 >> 画布 >> 自动刷新画布。
这至少允许预览加载,并且您可以使用设备中的播放按钮手动刷新它们。
关闭后,它将加载预览,您可以单击播放按钮刷新预览。
--2022年1月12日更新--
在收到来自 AppleDTS 的电子邮件后,他们认为这是一个错误,花了很多时间解决这个问题并找到了可重复的解决方法。如果我发现任何有用的信息,需要通过反馈助手提出进一步的请求,并将分享来自 Apple 的反馈。
就我而言,如果您使用的是M1 Macbook Pro并且在构建中不包括 Arm64 架构以及各种 cocoapods,则该问题不时再次出现,并找到了一种(相当肮脏的)利用 SwiftUI 的方法。以下是迄今为止我发现的最安全/最安全的方法,至少在我这边,可以让预览工作。
清洁 Xcode(派生数据、设备支持、构建缓存) (如果你有 cocoapods 和 XCworkspace 文件)arch -x86_64 pod deintegrate in terminal 删除旧的 XCworkspace 文件和 Podfile.lock 重新安装 pod - arch -x86_64 pod install 在 Xcode 信息中检查“使用 Rosetta 打开” 打开新的 XCworkspace 文件 运行 iOS 模拟器为 iPhone 构建缓存(如果有 iOS 应用程序) 运行 WatchOS Simulator 为手表构建缓存(如果有 watchOS 应用) 确保此时 cocoapods/swift 版本等没有其他问题。 关闭“自动刷新画布”以检查预览是否加载,并在打开自动画布刷新功能时(对 contentView/SwiftUIview 进行任何更改)查看“消息发送失败”错误消息。 关闭 Xcode 文件,而不删除 build Cache。 在 Xcode 信息中取消选中“使用 Rosetta 打开”。 重新打开 XCworkspace 文件。 (可选)运行模拟器 在打开“自动刷新画布”的同时使用 SwiftUI。如果您在此期间找到了更好的解决方案,请随时分享。这篇 SO 帖子是让我找到临时解决方法的帖子。
Xcode 12 中的“无法在此文件中预览 - 连接中断:向代理发送 previewInstances 消息”错误
更多推荐
在此,文件
发布评论