更新 Xcode 和 swift 5 后,在 iOS 12.2 上启动模拟器后,我的应用程序在启动时崩溃。但在早期版本的 ios(如 12.0)中,应用程序可以正常工作。我在真实设备 ios 12.0.1 上启动应用程序并且应用程序正常工作,然后在 iOS 设备 12.2 上启动应用程序并且应用程序崩溃
我不知道它是否相关,但在控制台中我有以下消息:
objc[39432]:Swift 类的 Swift 类扩展和类别
不允许有 +load 方法
然后 Xcode 重定向到0_abort_with_payload
:
libsystem_kernel.dylib`__abort_with_payload:
0x11365200c <+0>: movl $0x2000209, %eax ; imm = 0x2000209
0x113652011 <+5>: movq %rcx, %r10
0x113652014 <+8>: syscall
-> 0x113652016 <+10>: jae 0x113652020 ; <+20>
0x113652018 <+12>: movq %rax, %rdi
0x11365201b <+15>: jmp 0x113634457 ; cerror_nocancel
0x113652020 <+20>: retq
0x113652021 <+21>: nop
0x113652022 <+22>: nop
0x113652023 <+23>: nop
你提到的错误是非常相关的:)
objc[39432]:Swift 类的扩展和类别不允许有 +load 方法
我找不到发生这种情况的原因,但问题似乎是您或您正在使用的某些依赖项正在使用静态load
方法,该方法已不再被允许。
您可以尝试以下几件事
- 检查您的代码
load
功能
- 检查您的依赖项,看看是否有任何更新可以解决此问题
This 推特上的话题也可以用来查明问题可能出在哪里。按照建议,尝试添加OBJC_PRINT_LOAD_METHODS=YES
当您启动应用程序时,这应该会给您一些更多线索。
希望有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)