我正在使用Swift 5在MacOS 10.15 Catalina Beta(19A50501i)上使用Xcode 10.2.1(最新稳定版本)。iPhoneXs具有iOS 12.3.1
我检查了多个与“在后台线程上调用UI API”有关的问题,但似乎没有一个能解决我的问题。
我有一个复杂的应用程序,已经使用了8个月以上,并且进行了多个AppStore更新。我最近将设备从iPhone 8迁移到了iPhone Xs,现在在最初的获取过程中收到了此错误消息。我无法查明导致此问题的代码。
仅当从Xcode编译到iPhone Xs或iPhone XR时,它会报告“主线程检查器:在后台线程上调用UI API”消息,然后在5秒钟延迟(阻塞UI)后,一切照常进行
初始获取中唯一的UI代码与显示HUD有关。我以相同的结果禁用了它
我尝试了以下信息的答案:Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState],以获取代码行,并在出现问题时暂停:
但是,它会在汇编程序调用的ret行中暂停
堆栈跟踪信息没有用。我可以查看的唯一代码是Realm Listener(我也将其禁用)
除了UIScreen扩展程序中的用于检查屏幕绝对高度的类方法以及与iPhone X(或更新版本)安全区域有关的几个约束外,没有其他iPhone Xs特定代码。
此外,我没有使用任何CoreMotion代码。
最后,在使用其他队列以及管理UI的情况下,由于Realm的限制,我在项目的多个区域中使用了“ DispatchQueue.main.async {}”。
任何帮助将不胜感激