我们的应用程序在Intel机器上调试时可以正常工作,但在搭载M1芯片的MacBook Pro上运行时会崩溃。
我们尝试初始化WKWebView
时应用程序崩溃
setUpWebViewUI
在主线程上使用DispatchQueue.main.async
调用
我们尝试了什么
- 我们尝试了所有常见的解决方案(清理、派生数据、罗塞塔等)。
- 一些开发人员建议更改模式设置,但对我们也没有用。
- 我们尝试了其他
WKWebView
的初始化方法,但结果仍然导致崩溃。
有效解决方案
我们发现一件事情,如果Xcode没有连接,则应用程序可以正常工作。如果我们使用Product文件夹中的.app文件运行应用程序,则可以正常工作,不会崩溃。
版本详细信息:
macOS版本:11.6.4。
Xcode版本:13.2.1
调用栈
#0 0x00000001972bbf50 in void JSC::LinkBuffer::copyCompactAndLinkCode<unsigned int>(JSC::MacroAssembler&, JSC::JITCompilationEffort) ()
#1 0x00000001972bb35c in JSC::LinkBuffer::linkCode(JSC::MacroAssembler&, JSC::JITCompilationEffort) ()
#2 0x0000000197908104 in JSC::LLInt::createJSGateThunk(void*, WTF::PtrTag, char const*) ()
#3 0x0000000196edec44 in JSC::LLInt::initialize() ()
#4 0x0000000197a9410c in void std::__1::__call_once_proxy<std::__1::tuple<JSC::initialize()::$_0&&> >(void*) ()
#5 0x000000018195d2b0 in std::__1::__call_once(unsigned long volatile&, void*, void (*)(void*)) ()
#6 0x0000000197a90ac8 in JSC::initialize() ()
#7 0x000000019ca24fc0 in WebKit::runInitializationCode(void*) ()
#8 0x000000018195d2b0 in std::__1::__call_once(unsigned long volatile&, void*, void (*)(void*)) ()
#9 0x000000019c80cafc in WebKit::InitializeWebKit2() ()
#10 0x000000019caeba84 in -[WKWebViewConfiguration init] ()
#11 0x000000019cae12b0 in -[WKWebView initWithFrame:] ()
#12 0x0000000104263428 in @nonobjc WKWebView.init() ()
#13 0x0000000104262350 in WKWebView.__allocating_init() ()
#14 0x000000010440c20c in AccountDetailViewController.setUpWebViewUI() at