首页 > 解决方案 > Xcode 12 模拟器崩溃

问题描述

我在 Xcode 12 模拟器中遇到奇怪的崩溃,信号 SIGABRT 在启动后立即出现。它发生在 Xcode 12.0 和 Xcode 12.0.1 的已发布版本上,我已尝试使用最新的 beta 12.2。

应用程序在设备上运行良好。

由于日志较少,我无法追踪太多。以下是堆栈。

线程 1

dyld`__abort_with_payload:
0x1194b0ed4 <+0>:  movl   $0x2000209, %eax          ; imm = 0x2000209 
0x1194b0ed9 <+5>:  movq   %rcx, %r10
0x1194b0edc <+8>:  syscall 
->  0x1194b0ede <+10>: jae    0x1194b0ee8               ; <+20>
0x1194b0ee0 <+12>: movq   %rax, %rdi
0x1194b0ee3 <+15>: jmp    0x1194af408               ; cerror_nocancel
0x1194b0ee8 <+20>: retq   
0x1194b0ee9 <+21>: nop    
0x1194b0eea <+22>: nop    
0x1194b0eeb <+23>: nop    

在此处输入图像描述

在此处输入图像描述

编辑添加异常断点后,得到以下控制台输出

dyld: Library not loaded: /usr/lib/libnfshared.dylib
Referenced from: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreNFC.framework/CoreNFC
Reason: no suitable image found.  Did find:
/usr/lib/libnfshared.dylib: mach-o, but not built for platform iOS-sim

在我的项目中,我没有使用 CoreNFC。它没有链接,也没有被 pod 使用,我已经检查过了

标签: iosobjective-cswiftxcodexcode12

解决方案


我的解决方案:手动将 libnfshared.dylib 从 Xcode 12 beta 6 复制到:Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr /lib/

这对我有用。

如果您想避免为单个文件下载 11.25GB Xcode 12.2 beta 的麻烦。我有文件要分享。

您可以执行以下命令下载并将其放入 Xcode 包中:

sudo curl https://storage.googleapis.com/mobile-simulator-build/libnfshared.dylib -o /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libnfshared.dylib

希望能帮助到你


推荐阅读