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

DGCharts替换Charts后APP崩溃:EXC_BAD_ACCESS错误求助

解决DGCharts替换Charts后出现EXC_BAD_ACCESS崩溃问题

问题场景

此前使用的Charts库(原仓库已更名为DGCharts),仅修改Podfile将pod 'Charts'替换为pod 'DGCharts'后,pod安装成功,但访问图表时APP崩溃,报错DGCharts EXC_BAD_ACCESS (code=2, address=0x12a113e30)。使用M1 MacBook,直接引入pod 'DGCharts'问题依旧。

可行解决方案

  • 彻底清理缓存并重构建

    1. 终端执行pod deintegrate移除所有pod依赖
    2. 删除项目目录下的Pods文件夹、Podfile.lock文件
    3. Xcode中执行Cmd+Shift+K清理构建文件夹
    4. 重新执行pod install,重启Xcode后重新编译项目
  • 统一命名空间与类引用

    1. 全局替换所有import Charts为import DGCharts
    2. 检查代码中所有Charts相关类的引用,确认DGCharts中类名无变更(多数类名保持一致,但需排查遗漏的硬编码引用)
  • 适配M1架构编译设置

    1. 打开项目Build Settings,将Architectures设为Standard Architectures (arm64, x86_64)
    2. Build Active Architecture Only在Debug模式下设为Yes
    3. 检查Excluded Architectures,确保Debug/Release模式下无冲突架构配置
  • 锁定兼容版本
    如果原Charts使用的是旧版本,直接升级到最新DGCharts可能存在兼容性问题:
    在Podfile中指定与原Charts版本相近的DGCharts版本,例如:

    pod 'DGCharts', '~> 4.0.0'
    

    具体版本可参考DGCharts的Release日志确认兼容性

  • 定位内存访问问题
    EXC_BAD_ACCESS多与内存错误相关,可通过Xcode调试工具定位:

    1. 打开Edit Scheme -> Run -> Diagnostics,勾选Zombie Objects
    2. 重新运行项目,触发崩溃时Xcode会提示具体的内存访问对象,针对性修复代码中的野指针或已释放对象引用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 08:52:47