Xcode 14构建Firebase Analytics报错,求有效解决方案
问题描述
在自定义Pod中尝试通过Firebase实现统计分析功能,已导入FirebaseAnalytics,但调用Analytics.logEvent时Xcode 14构建报错。已尝试添加$(inherited)、-ObjC等配置,问题仍未解决。
环境信息
- Xcode 14
- CocoaPods 1.11.3
实现代码
import FirebaseAnalytics class PerformanceHandler { func recordCustomEvent(name: String, attributes: [String: Any]) { Analytics.logEvent(name, parameters: attributes) } }
Podfile片段
pod 'Firebase' pod 'Firebase/RemoteConfig' pod 'FirebasePerformance'
注:PerformanceHandler类属于自定义Pod,项目采用模块化架构。
解决方案
针对自定义Pod中FirebaseAnalytics符号找不到的问题,按以下步骤排查:
- 给自定义Pod的Podspec添加FirebaseAnalytics依赖
自定义Pod作为独立模块,必须在自身的.podspec文件中明确声明对FirebaseAnalytics的依赖,否则主项目的Pod依赖无法传递到该模块。添加如下配置:
s.dependency 'Firebase/Analytics'
添加后执行pod install更新依赖。
- 检查自定义Pod Target的Build Settings
- 进入自定义Pod的Target -> Build Settings -> Other Linker Flags,确保添加了
-ObjC或-all_load,并且包含$(inherited)(继承主项目的链接配置)。 - 确认Framework Search Paths中包含
$(inherited),确保能正确找到Firebase相关框架。
- 清理Xcode缓存并重新构建
- 执行
Command + Shift + K清理Build Folder; - 删除DerivedData目录(路径:
~/Library/Developer/Xcode/DerivedData); - 重新执行
pod deintegrate && pod install,彻底重置Pod依赖; - 重启Xcode后重新构建项目。
- 确认主项目Firebase初始化完成
确保主项目的AppDelegate或SceneDelegate中已完成Firebase初始化:
import Firebase func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { FirebaseApp.configure() // 其他初始化代码 return true }
内容的提问来源于stack exchange,提问作者marilyn
相关产品推荐
相关产品推荐

