遵循Firebase iOS推送指南后,NotificationService.m报FIRMessaging未声明错误
解决「Use of undeclared identifier 'FIRMessaging'」错误的步骤
你遇到的问题是因为Notification Service Extension目标没有单独配置Firebase Messaging依赖,主项目的SDK依赖不会自动传递给扩展目标,具体解决步骤如下:
给扩展目标添加Firebase Messaging组件
- 在Xcode中选中你的Notification Service Extension目标
- 切换到「Package Dependencies」标签页
- 点击左下角「+」按钮,选择已添加的firebase-ios-sdk包,勾选「FirebaseMessaging」组件后点击「Add Package」
在NotificationService.m中导入Firebase Messaging头文件
在代码最顶部添加:#import <FirebaseMessaging/FirebaseMessaging.h>检查扩展目标的链接配置
进入扩展目标的「Build Settings」,找到「Other Linker Flags」选项,确认其中包含-ObjC参数,若没有则添加,确保Firebase静态库能正确链接。(可选)初始化Firebase(旧版本可能需要)
如果使用的是较旧版本的Firebase SDK,可能需要在didReceiveNotificationRequest方法开头添加初始化代码:if ([FIRApp defaultApp] == nil) { [FIRApp configure]; }
内容的提问来源于stack exchange,提问作者zeus
相关产品推荐
相关产品推荐

