最近上上线新版本 被剧 理由是 一打开就会崩溃 并发回了个8个崩溃文档
问题是我Mac跑在手机上没有一点问题
如下图 后台也没有崩溃日志
使用AI分析崩溃文档后结果是 firebase的 Crashlytics库中的 “ FIRCLSFileReadSections”函数和"pb_enc_bool"函数导致的
AI分析结果如下:
这是一个具有 EXC_BAD_ACCESS 类型的崩溃,这种崩溃通常由于访问非法内存引起,如访问已释放的对象或越界访问数组等。
通过逐步查看调用栈,发现崩溃来源于:"FIRCLSFileReadSections" 这个函数。
它是 Firebase Crashlytics 的一部分,被设计用来读取和分析应用的崩溃报告。这个错误可能表示应用在尝试从 Firebase Crashlytics 读取或写入崩溃报告时访问到了非法内存。
这种问题的解决方法通常是查看并确保 Crashlytics 的初始化和配置是否正确,或考虑升级 Firebase Crashlytics 到最新版本。
最后还需要确认应用具有足够的权限进行文件读写操作,确保应用在产生崩溃报告后能正确保存并在下次启动时发送到 Firebase。
这只是粗略的分析,具体问题可能需要你进一步调试源代码并定位问题。
从你的错误报告中,我可以提取出以下关键信息:
"os_version"字段显示设备的操作系统版本为"iPhone OS 17.4.1(21E236)"。
"exception"字段显示异常类型为"EXC_BAD_ACCESS(内存访问异常)",具体为"KERN_INVALID_ADDRESS(无效的内存地址)",异常地址是"0x000000016d71445c"。
"faultingThread"字段显示出错的是第一个线程。
"threads"字段提供了错误发生时的线程堆栈信息,从中我们可以看到错误首先在"pb_enc_bool"函数中触发,然后传播到"encode_field","pb_encode","FIRSESEncodeProto"函数,可能的问题出在这一系列的函数调用中。
特别要注意的是进程模型"procRole"字段是"Foreground",表示应用在前台运行时发生了这个异常。
"procPath"字段指出应用程序的路径是在应用程序容器的Application目录下。
综上所述,此异常是由于应用尝试访问一个无效的内存地址引起的,通常是因为对象已被释放或者在初始化之前就被访问了。你需要重点检查一下与'pb_enc_bool','encode_field', 'pb_encode', 'FIRSESEncodeProto'这几个函数相关的代码,并且要确保在应用运行在前台时能正常处理内存访问。
调试半天 跟新firebase版本(10.23.0)后直接报错了 实在没办法 项目上线催的急
就把firebase版本回退到10.20.0后把项目中需要的firebase相关代码都注释掉
紧急上线 半小时就过了 看来firebase库确实出问题了 看到的同学如果有更好的解决办法 请联系我