You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RN Firebase Messaging安卓正常iOS端推送通知失效问题排查

修复排查步骤

  1. 修正Firebase初始化逻辑
    你Xcode日志中存在The default Firebase app has not yet been configured的明确报错,当前你在AppDelegate.m的didFinishLaunchingWithOptions方法中添加了非空判断才执行初始化,会导致Firebase组件加载时初始化未完成。直接删除判断逻辑,方法进入后第一行就执行配置:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  // 移除if判断,直接调用
  [FIRApp configure];
  // 原有后续逻辑
}
  1. 主动调用推送权限请求方法
    你index.js中定义了requestUserPermission权限请求方法,但没有触发调用逻辑,iOS必须用户授权后才能接收推送。在入口组件的useEffect中添加调用逻辑:
useEffect(() => {
  // 新增权限请求调用
  requestUserPermission();
  console.log('RN Message Called on USEFFECT!');
  const unsubscribe = messaging().onMessage(async remoteMessage => {
    Alert.alert('A new FCM message arrived!', JSON.stringify(remoteMessage));
  });
  return unsubscribe;
}, []);
  1. 检查Xcode能力配置
    确认Xcode对应Target的Signing & Capabilities页已添加两项配置:
  • 添加Push Notifications能力
  • 添加Background Modes能力,勾选其中的Remote notifications选项
  1. 验证Firebase APNs证书配置
    确认你在苹果开发者后台生成的开发、生产环境APNs证书,已经上传到Firebase控制台对应iOS项目的Cloud Messaging配置页,否则FCM无法对接苹果推送服务。
  2. 验证FCM Token获取
    权限请求通过后添加messaging().getToken()调用,打印iOS端生成的FCM Token,确认能正常获取后,可直接在Firebase控制台用该Token发送测试推送验证功能。

内容的提问来源于stack exchange,提问作者DaleZA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:09:02