SwiftUI 在 iOS 17 上发生“诡异”崩溃的解决:AsyncRenderer layout engine performed from background thread
2023-12-13 04:00:41
问题现象
在系统升级到 iOS 17 后,原本正常的 SwiftUI 代码在运行时突然发生崩溃,提示如下信息:
com.apple.SwiftUI.AsyncRenderer (17): “Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread.”
这是怎么回事呢?
通过上面出错信息,大家可能认为这只是一个常见的“从后台线程更改界面”的错误,但其实它绝没这么简单。因为从 App 中压根找不到后台线程对界面“指手画脚”的任何代码!
它实际和 iOS 17 中一个重大更新有着千丝万缕的关系!
闲言少叙,Let‘s fix it!!!??
问题分析
1. 抽丝剥茧
在检查源代码之前,让我们先来仔细分析一下这个“奇怪的”崩溃:
- 首先,崩溃位置是在一个名为 com.apple.SwiftUI.AsyncRenderer 的陌生线程中:
文章来源:https://blog.csdn.net/mydo/article/details/133275434
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!