应用研发平台EMAS ios出现闪退请问如何解决?
[CloudPush Debug]: Request url is: https://mpush-api.aliyun.com/apns-token
[CloudPush Debug]: Close CCP channel with retry.
[CloudPush Debug]: Task retry, [currentRetryTimes: 1], [maxRetryTimes: 3], retry after [3.0] seconds.
* thread #32, name = 'CCP Socket Thead', stop reason = EXC_BAD_ACCESS (code=1, address=0x6841bd2a71c0)
frame #0: 0x000000019dca6820 libobjc.A.dylib`objc_msgSend + 32
libobjc.A.dylib`objc_msgSend:
-> 0x19dca6820 <+32>: ldr x11, [x16, #0x10]
0x19dca6824 <+36>: tbnz w11, #0x0, 0x19dca6880 ; <+128>
0x19dca6828 <+40>: and x10, x11, #0xffffffffffff
0x19dca682c <+44>: eor x12, x1, x1, lsr #7
Target 0: stopped.
日志显示发生EXC_BAD_ACCESS崩溃,这通常与内存管理有关。
EMAS SDK正在请求推送令牌(apns token),这是SDK正常启动过程。
推送通道(CCP channel)发生错误, SDK尝试重试。但最终还是导致线程异常崩溃。
具体的崩溃调用堆栈为objc_msgSend,表明与Objective-C对象和消息发送有关。
综上,有以下几种可能的原因:
SDK所依赖的第三方库存在内存泄漏问题
SDK自身代码有对象在未释放的情况下发送消息,导致异常崩溃
与第三方SDK集成不兼容,互相引起崩溃
多线程访问数据的不安全,导致崩溃
要准确定位原因,需要分析更多信息:
更详细的crash报告
初始化SDK的代码
App使用的第三方SDK列表
重现步骤
以上信息有助于定位内存问题,并提供解决方案。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。