Xcode 12模拟器崩溃

5
在使用 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。


1
这有帮助吗?https://dev59.com/cFgQ5IYBdhLWcg3w6IOg - skaak
线程污点分析器已关闭 内存分配追踪已关闭 僵尸对象检测已关闭 未使用自定义框架 仅使用Pods和一些系统框架(adSupport,CoreTelephony和iAd) - Arslan Asim
它们大部分都是针对Firebase的,没有特别的参数。 - Arslan Asim
1
你在Xcode中启用了异常断点吗? - koen
1
@ArslanAsim 看起来是 iOS 14 的一个 bug:https://openradar.appspot.com/FB8699389 - koen
显示剩余4条评论
4个回答

4
我的解决方案:将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

希望能帮到您。

1
我遇到了同样的问题,即在启动后模拟器会崩溃,这是与iOS14相关的。旧版iOS模拟器和部署到使用iOS14的设备都可以正常工作。
我的解决方案: 手动将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/

似乎在发布版本中缺少此文件。

0
我希望这可以帮到你:
从 Target/App/Build Settings 中删除“VALID_ARCHS”。
如果您正在使用 Bitrise 进行构建,则建议将 arm64 x86_64 添加到其中。因为由于某种原因,如果删除“VALID_ARCHS”,Bitrise 目前会崩溃。
例如:

enter image description here


0

这个问题可以通过以下方式解决:

Xcode-12.2 beta 2。发布于2020年9月29日。

等待稳定版本确认是否按预期工作,因为在beta版中已经正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接