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

React Native Expo应用推送通知失效排查与配置咨询

iOS推送通知失效排查与修复步骤

可能存在的操作遗漏点

  • 推送证书未与项目签名体系关联
    你生成的.p12文件需要导入到Xcode的「证书管理器」(Xcode → Settings → Accounts → 你的Apple ID → Manage Certificates),或者通过Fastlane的match工具同步到构建环境。同时要确保:

    • Xcode项目的「Signing & Capabilities」中已开启Push Notifications能力;
    • 你选择的Provisioning Profile是包含Push Notifications权限的(在Apple Developer后台生成Profile时,需关联已开启推送的App ID)。
  • Expo推送配置未同步到原生项目
    expo build会自动读取app.json/app.config.js中的推送配置并注入原生项目,但prebuild需要你手动配置后再生成:

    1. 在app.json中添加推送相关配置:
      "expo": {
        "notifications": {
          "ios": {
            "bundleIdentifier": "你的应用Bundle ID"
          }
        }
      }
      
    2. 重新执行npx expo prebuild,覆盖原生iOS文件夹,再导入Xcode确认配置是否生效。
  • Fastlane Gymfile缺少推送相关签名配置
    检查Gymfile中的export_options或关联的ExportOptions.plist,确保指定的签名配置包含推送权限。例如,ExportOptions.plist中需包含:

    <key>pushNotification</key>
    <true/>
    

    同时确保gym命令使用的Provisioning Profile是已关联推送证书的版本。

后续验证步骤

  1. 确认Apple Developer后台的App ID(Identifiers)中已开启Push Notifications,且对应的Provisioning Profile已更新并下载到本地;
  2. 在Xcode中选择正确的签名证书和Profile,重新构建测试包;
  3. 上传TestFlight后,在测试设备上开启通知权限,使用APNs测试工具(对应开发/生产环境)发送测试推送验证功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 16:38:22