集成Firebase与Crashlytics遇FABException:Info.plist的Fabric需为NSDictionary
解决Firebase Crashlytics集成时的FABException错误
我之前也踩过这个坑!这是因为现在Firebase Crashlytics已经完全整合进Firebase生态,不再依赖旧的Fabric框架了,你的错误就是因为Info.plist里的Fabric配置格式不对或者多余导致的。
下面是具体的修复步骤:
清理Info.plist中的Fabric配置
打开你的Info.plist文件,找到名为Fabric的键:- 如果它的值不是字典类型(比如是字符串、空值),直接删除整个键值对;
- 如果之前手动添加了Fabric的API Key之类的内容,也一并删掉——现在这些配置完全不需要了。
检查并更新Podfile依赖
打开你的Podfile,确保只保留Firebase Crashlytics的官方依赖,移除所有和Fabric相关的Pod:# 只保留这一行即可 pod 'Firebase/Crashlytics' # 删掉下面这些(如果你的Podfile里有的话) # pod 'Fabric' # pod 'Crashlytics'然后在终端执行更新命令:
pod install --repo-update移除项目中多余的Fabric初始化代码
如果之前按照旧文档在AppDelegate或者SceneDelegate里加了Fabric的初始化代码,比如:Fabric.with([Crashlytics.self])把这行代码彻底删掉,现在Firebase Crashlytics会自动完成初始化,不需要手动调用。
验证并重启项目
先清理Xcode项目(按下Cmd+Shift+K),然后重新构建运行。如果还有问题,检查一下Firebase控制台是否已正确添加你的App,以及GoogleService-Info.plist是否正确导入到项目中。
补充说明:这个错误的核心原因是Firebase已经弃用了Fabric的旧集成方式,如果你是跟着较旧的文档操作,就会引入不必要的Fabric配置,导致Crashlytics SDK启动时读取Info.plist出错。
内容的提问来源于stack exchange,提问作者Miles Hopkins
相关产品推荐
相关产品推荐

