ios - 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 使用,我已经检查过了
解决方案
我的解决方案:手动将 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
希望能帮助到你
推荐阅读
- selenium-chromedriver - 如何通过 MVN 命令行传递 CromeOptions
- c# - 如何执行简单的 Couchbase Lite 查询
- sqlite - 如何从 2 个表中获取最近的 DateTime
- tla+ - TLA+ 翻译结果解析失败
- api - 保险库令牌 - 无法传递请求/自定义 TTL 的选项
- php - 大数的算术
- javascript - 使用javascript中的另一个字符串数组对字符串数组进行排序
- c - memcpy long long int(转换为 char*)到 char 数组
- mongodb - MongoDB - 转换数组字段以设置
- r - xj[i] 中的错误:R 中的下标类型“列表”无效