objective-c - 在 NSKeyValueCoding 中崩溃 IOS 13 和 Xcode 11
问题描述
在运行 IOS 13.5 的 iPhone 和 iPad 上使用几分钟后,该应用程序崩溃了几次。然而,它在运行 IOS 12 时没有问题。我分析了设备的崩溃日志报告,无论是 iPhone 还是 iPad,它们都在如下所示的崩溃日志中显示了相同的崩溃:
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 18
Last Exception Backtrace:
0 CoreFoundation 0x1a39bb794 __exceptionPreprocess + 224
1 libobjc.A.dylib 0x1a36ddbcc objc_exception_throw + 55
2 CoreFoundation 0x1a38c4764 +[NSObject+ 210788 (NSObject) doesNotRecognizeSelector:] + 139
3 CoreServices 0x1a4026968 +[_LSDefaults sharedInstance] + 55
4 Foundation 0x1a3c79f18 -[NSObject+ 44824 (NSKeyValueCoding) valueForKey:] + 303
5 AppName 0x104905348 fb1UCM8vZCiE + 355
6 AppName 0x10490d0b8 fbkUVUzGnhkS + 1655
7 AppName 0x10490295c fbIiaWxkoUb6 + 307
8 libsystem_pthread.dylib 0x1a36d1d98 _pthread_start + 155
9 libsystem_pthread.dylib 0x1a36d574c thread_start + 7
Thread 18 Crashed:
0 libsystem_kernel.dylib 0x00000001a37b0d88 __pthread_kill + 8
1 libsystem_pthread.dylib 0x00000001a36c91e8 pthread_kill$VARIANT$mp + 136
2 libsystem_c.dylib 0x00000001a361c934 abort + 100
3 libc++abi.dylib 0x00000001a3784cc0 __cxxabiv1::__aligned_malloc_with_fallback+ 76992 (unsigned long) + 0
4 libc++abi.dylib 0x00000001a3776e10 demangling_unexpected_handler+ 19984 () + 0
5 libobjc.A.dylib 0x00000001a36dde80 _objc_terminate+ 24192 () + 124
6 libc++abi.dylib 0x00000001a378414c std::__terminate(void (*)+ 74060 ()) + 16
7 libc++abi.dylib 0x00000001a3786bd8 __cxa_get_exception_ptr + 0
8 libc++abi.dylib 0x00000001a3786b98 __cxxabiv1::exception_cleanup_func+ 84888 (_Unwind_Reason_Code, _Unwind_Exception*) + 0
9 libobjc.A.dylib 0x00000001a36ddcf8 _objc_exception_destructor+ 23800 (void*) + 0
10 CoreFoundation 0x00000001a38c4764 +[NSOrderedSet orderedSetWithSet:] + 0
11 CoreServices 0x00000001a4026968 +[_LSDefaults sharedInstance] + 56
12 Foundation 0x00000001a3c79f18 -[NSObject+ 44824 (NSKeyValueCoding) valueForKey:] + 304
13 AppName 0x0000000104905348 fb1UCM8vZCiE + 356
14 AppName 0x000000010490d0b8 fbkUVUzGnhkS + 1656
15 AppName 0x000000010490295c fbIiaWxkoUb6 + 308
16 libsystem_pthread.dylib 0x00000001a36d1d98 _pthread_start + 156
17 libsystem_pthread.dylib 0x00000001a36d574c thread_start + 8
但我仍然对这个问题感到困惑。可能是调用了一个不存在的方法,归结为key-value-coding,但是在Xcode中编译没有发现任何错误。所以我想知道如何解决它。
解决方案
我没有看到整个日志,但您似乎有内存泄漏(malloc)。如果您处于保留周期和/或例如如果您在主线程上使用 UI 函数,则可能会发生这种情况。
按照 medium.com 上的本教程如何调试内存泄漏
我希望我能帮助您找到正确的方法来自己调试它。
推荐阅读
- html - CSS responsive layout with an image and a side section
- ios - Swift将UnionValue JSON转换为对象并循环
- package - How to overcome issue regarding loading Notation package into Wolfram?
- angular - Angular Firebase Cloud Messaging got service worker problems
- oracle - Oracle 授予调试权限而不进行更改
- flutter - Sliver 应用栏无法正确显示 - Flutter
- java - 使用查询 DSL 时可以在表旁边定义数据库名称吗?
- flutter - #Flutter_Camera Can't handle focus in camera package flutter
- r - plotKML - 图层名称、标签大小和图层层次结构
- android - FLAG_INSISTENT 通知仍然振动