iOS集成Firebase推送通知遇arm64架构218个重复符号错误求助
解决Xcode中Firebase SDK重复符号错误(218 duplicate symbols for architecture arm64)
以下是几个经过验证的排查和修复步骤:
检查重复依赖引入
确认项目中是否同时通过CocoaPods和手动拖拽的方式引入了Firebase组件。比如如果已经用pod 'Firebase/Messaging'和pod 'Firebase/Analytics'管理依赖,就不要再手动添加Firebase的.framework文件到项目里。执行pod deintegrate清理现有CocoaPods集成,然后重新pod install。清理Build缓存
- 关闭Xcode,删除项目目录下的
DerivedData文件夹(可通过Xcode的File > Project Settings > Derived Data找到路径) - 执行
rm -rf ~/Library/Caches/CocoaPods清理Pods缓存 - 重新打开项目并Clean Build Folder(快捷键
Cmd+Shift+K)后再尝试编译
- 关闭Xcode,删除项目目录下的
排查第三方库冲突
部分第三方库(如广告类SDK)可能也包含Firebase相关符号,导致冲突。可通过nm -u YourAppTarget | grep Firebase命令查看符号来源,定位是否有其他库引入了重复的Firebase代码。若发现冲突,尝试升级或替换冲突的第三方库版本。调整Build Settings配置
在项目的Build Settings中找到Other Linker Flags,确保没有重复添加-ObjC或-all_load(除非业务必须)。如果必须使用这些标记,可尝试改为-force_load并指定特定的Firebase库,避免全局加载引发重复符号问题。确保Firebase SDK版本一致
确认所有Firebase组件使用同一版本,CocoaPods会自动处理版本对齐,但如果手动指定了版本,检查Podfile中所有Firebase相关pod的版本号是否统一。示例:pod 'Firebase/Messaging', '10.15.0' pod 'Firebase/Analytics', '10.15.0'
内容的提问来源于stack exchange,提问作者Makhmoor Rehman
相关产品推荐
相关产品推荐

