当我尝试在画布中预览我的一个视图时,我不断收到以下错误:
PreviewUpdateTimedOutError:更新时间超过 5 秒
我所有的其他视图都加载得很好。
为什么会发生这种情况,我该如何解决?
我在 Xcode 11.4(公开发布)中使用 SwiftUI
msm*_*lko 14
在我的情况下,问题是构建设置中的这一行:
我不小心更改了项目中的签名设置。具体来说,“签署身份”被设置为“签署本地运行。”。出于某些原因,SwiftUI 预览在那时不起作用。
简单地从构建设置(又名设置默认值)中删除这一行就解决了这个问题。
Fab*_*tel 10
从 Xcode 12.5.1 开始,该消息PreviewUpdateTimedOutError: Updating took more than 5 seconds很可能意味着您的应用程序崩溃,因此更新预览失败。不幸的是,崩溃的真正原因被这个无用的消息掩盖了(我无法理解为什么苹果会这样做)。要找出真正的原因,您需要:
Diagnostics预览顶部无用错误消息旁边的Generate Report>Reveal in Finder这需要一点时间。然后 Finder 将打开并突出显示一个文件夹。打开该文件夹。在里面你会看到很多日志文件和文件夹。
如果您的应用程序确实崩溃了,您将看到一个名为 的文件夹CrashLogs,其中包含应用程序的崩溃日志,包括错误消息和堆栈跟踪。这应该可以帮助您解决导致预览中断的实际错误。
请注意,对我来说,有时CrashLogs即使我的应用程序确实崩溃了,它们也没有包含在报告中。重试预览并生成另一个报告为我解决了这个问题。不幸的是,整个错误报告过程对于预览来说似乎相当不稳定。
尝试 Clean (Shift + ? + K) 和 Build (? + B) 再次构建 SwiftUI 项目,它适用于 Xcode 11.6。尝试构建一个基本的 hello world 应用程序。
在我的情况下,问题是PreviewProvider被标记为private. 只需创建internal或删除private访问修饰符即可。
private /* <- remove */ struct YourView_Previews: PreviewProvider {
static var previews: some View {
// Your previews
}
}
Run Code Online (Sandbox Code Playgroud)
我使用的是版本 13.2.1 (13C100)。我有 Clean (Shift + \xe2\x8c\x98 + K) 和 Build (\xe2\x8c\x98 + B) 项目。但是,问题依然存在。
\n然后,重新启动 Xcode。问题就消失了。
\n| 归档时间: |
|
| 查看次数: |
13034 次 |
| 最近记录: |