我在 Xcode 的调试窗口中收到这些错误消息:
2023-06-06 07:46:15.412684-0500 Courier[8456:442818] [LayoutConstraints] Unsupported layout off the main thread for _UIModernBarButton with nearest ancestor view controller, UINavigationController
2023-06-06 07:46:15.413268-0500 Courier[8456:442818] [Assert] -[UIImageView _invalidateImageLayouts] must be called on the main queue
2023-06-06 07:46:15.413730-0500 Courier[8456:442818] [Assert] -[UIImageView _layoutForImage:inSize:cachePerSize:forBaselineOffset:] must be called on the main queue
(lldb)
当我的代码崩溃并在编辑器窗口中的红丝带中给出此错误消息时,会出现消息:
Thread 10: EXC_BREAKPOINT (code=1, subcode=0x10515fd44)
在 Xcode 左侧窗格的调试导航器中,它显示代码停在:
#0 0x000000010515fd44 in _dispatch_assert_queue_fail ()
这是编辑器窗口最后显示的内容。最后是红丝带中显示错误消息的地方:
0x10515fd10 <+68>: add x9, x9, #0xf2f ; "BUG IN CLIENT OF LIBDISPATCH: Assertion failed: "
0x10515fd14 <+72>: stp x9, x8, [sp]
0x10515fd18 <+76>: adrp x1, 65
0x10515fd1c <+80>: add x1, x1, #0xefa ; "%sBlock was %sexpected to execute on queue [%s (%p)]"
0x10515fd20 <+84>: sub x0, x29, #0x18
0x10515fd24 <+88>: bl 0x10519cfc8 ; symbol stub for: asprintf
0x10515fd28 <+92>: ldur x19, [x29, #-0x18]
0x10515fd2c <+96>: str x19, [sp]
0x10515fd30 <+100>: adrp x0, 65
0x10515fd34 <+104>: add x0, x0, #0xf65 ; "%s"
0x10515fd38 <+108>: bl 0x1051986b0 ; _dispatch_log
0x10515fd3c <+112>: adrp x8, 98
0x10515fd40 <+116>: str x19, [x8, #0x268]
-> 0x10515fd44 <+120>: brk #0x1
我不知道哪个代码导致了错误,所以我什至不知道在我的问题中放置什么代码。
我在“符号”字段中使用“LayoutConstraints”创建了一个符号断点。它永远不会被绊倒。
我没有收到紫色警告,表明一行代码不应位于主线程中。
我不知道从这里该去哪里。当我在互联网上进行缩小范围的搜索以解决我的错误时,我没有找到任何内容。
我正在运行 iOS 16.5 的 iPhone 13 Pro Max 设备上运行代码。
我在运行 Ventura 13.4 的 Mac Pro 上使用 Xcode 14.3
我目前也遇到这个问题,但是我尝试取消Debug可执行文件,应用程序可以正常运行。