Xcode12集成Lottie动画遇EXC_BAD_ACCESS及未知类错误求助
解决方案
针对你遇到的Unknown class _TtC6Lottie13AnimationView错误,这是Storyboard无法识别Lottie控件类导致的,按以下步骤排查:
检查Storyboard控件的类与模块设置
- 打开Storyboard,选中你的
animationView控件 - 切换到右侧的「Identity Inspector」(第三个图标)
- 在「Class」栏确认输入的是
LottieAnimationView,然后检查「Module」下拉框:- 如果是用CocoaPods或Swift Package Manager安装的Lottie,确保Module选择你的项目target(而非空或Lottie)
- 若Module为空,手动输入你的项目名称尝试
- 打开Storyboard,选中你的
确认Lottie的安装与target关联
- 若用CocoaPods:
- 检查Podfile是否包含
pod 'Lottie',且已执行pod install - 必须打开项目的
.xcworkspace文件,而非.xcodeproj
- 检查Podfile是否包含
- 若用Swift Package Manager:
- 进入项目设置 -> 「Package Dependencies」,确认Lottie已添加,且在「Target」标签下已关联到你的主target
- 检查项目的「Build Phases」->「Link Binary With Libraries」,确保
Lottie.framework在列表中
- 若用CocoaPods:
清理Xcode缓存并重启
- 按下
Cmd+Shift+K清理项目 - 按下
Cmd+Option+Shift+K清理Build文件夹 - 关闭Xcode,删除DerivedData(路径:Xcode偏好设置 -> Locations -> DerivedData,点击箭头打开文件夹后删除对应项目的文件夹)
- 重新打开项目(务必打开
.xcworkspace)
- 按下
重新关联IBOutlet
- 删除代码中
@IBOutlet weak var animationView: LottieAnimationView!这一行 - 在Storyboard中,右键点击控件,移除原来的IBOutlet关联
- 重新从控件拖拽到代码中,建立新的IBOutlet,确保选择的类型是
LottieAnimationView
- 删除代码中
内容的提问来源于stack exchange,提问作者Monrac
相关产品推荐
相关产品推荐

