You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS应用SIGABRT崩溃排查求助:未识别选择器调用问题

iOS应用崩溃原因排查分析

核心崩溃现象

崩溃类型为EXC_CRASH (SIGABRT),触发本质是向内存地址0x303475170的对象发送了它无法识别的方法调用,崩溃发生在MendixEncryptedStorageModule的getItem:resolver:rejecter:方法第93行。

崩溃调用链定位

从异常回溯栈可以明确关键调用路径:

5   Boubyan Takaful Insurance       0x1045199fc -[MendixEncryptedStorageModule getItem:resolver:rejecter:] + 456 (MendixEncryptedStorageModule.m:93)
...
2   CoreFoundation                  0x1a669e480 -[NSObject(NSObject) doesNotRecognizeSelector:] + 344 (NSObject.m:161)

第5帧是崩溃触发的业务代码位置,第2帧确认了"对象无法识别目标方法"的核心问题。

可能的崩溃原因

  • 对象类型不匹配:MendixEncryptedStorageModule.m第93行中,代码对某个对象执行了不符合其类型的方法调用。比如预期是加密存储实例,实际却是NSNull、普通字典等不具备目标方法的对象。
  • 野指针访问:目标对象已被ARC自动释放或手动释放,内存地址被其他对象复用,此时向该地址发送方法会触发无法识别选择器的崩溃。
  • 方法定义/调用错误:调用的方法名称拼写错误,或者方法的参数数量、类型与类中声明的不匹配,导致运行时无法找到对应方法实现。

排查建议

  1. 定位代码细节:直接查看MendixEncryptedStorageModule.m第93行代码,确认调用的对象和方法:
    • 打印该对象的className,验证其类型是否符合预期
    • 检查目标方法是否在该对象的类中正确声明和实现
  2. 检查对象生命周期:
    • 若该对象是类属性,确认是否用strong修饰以避免提前释放
    • 排查多线程环境下的对象释放问题(当前崩溃发生在dispatch工作线程)
  3. 验证RN桥接参数:
    • 该崩溃通过React Native的RCTModuleMethod触发,检查JS层调用getItem时传递的参数是否合法,是否导致Native层接收到异常对象

内容的提问来源于stack exchange,提问作者vijay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:12:06