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

EXPO iOS生产环境推送通知失效,证书配置显示0

iOS独立Expo App推送通知失效的排查与解决方案

我来帮你梳理这个问题的排查方向和解决方案,毕竟开发环境正常、生产环境失效的推送问题确实挺磨人的:

1. 先确认Expo凭据的实际状态

别只盯着Apple开发者门户,先通过Expo命令行工具排查本地凭据情况:

  • 运行 expo credentials:manager,选择iOS平台,查看Push Notifications Certificate的状态,要区分开发(Development)和生产(Production)环境。
  • 如果这里显示生产环境的推送证书缺失,那说明Expo自动生成凭据时确实没成功,这就是问题的核心根源。

2. 检查Apple开发者门户的基础配置

你看到的“configure certificates (0)”肯定是异常的,先把基础配置补全:

  • 找到你的App Identifier,确认Push Notifications选项已经被勾选开启(这是生成推送证书的前提,如果没开,先勾选保存)。
  • 顺便检查Apple账号的证书配额:每个账号的推送证书有数量限制,要是之前生成过不少废弃证书,可以先删掉腾出名额。

3. 重新生成凭据的正确操作

之前的expo build:ios --clear-credentials可能不够彻底,试试这个更完整的流程:

  • 先运行 expo credentials:manager,进入iOS选项后,手动删除现有的Push Notifications Certificate和Provisioning Profile(不管有没有,都删干净)。
  • 再运行 expo build:ios --clear-credentials,全程选择让Expo自动处理。这时候要确保:
    • 你的Apple账号有管理员权限,能生成证书和配置文件;
    • 两步验证的验证码输入正确,Expo能顺利访问你的开发者账号。
  • 如果自动生成还是失败,那就手动生成推送证书:
    1. 去Apple开发者门户,为你的App ID生成生产环境推送证书,下载后双击导入Keychain Access;
    2. 在Keychain里找到这个证书,右键导出为.p12文件(记得设置密码,后面要用到);
    3. 回到expo credentials:manager,选择“Add Push Notifications Certificate”,上传.p12文件并输入密码;
    4. 最后重新build iOS应用。

4. 排除后端和设备端的问题

  • 后端测试:用Expo官方的推送测试工具,输入独立App的Push Token发送测试通知,如果能收到,说明后端的推送逻辑可能有问题(比如误用了开发环境配置,或者请求格式错误);
  • 设备权限:确认用户设备的设置里,你的App的推送通知权限已经被允许(别忽略用户第一次打开时拒绝授权的情况)。

5. 最后检查SDK版本

如果以上操作都没解决问题,试试升级Expo SDK到最新稳定版——有些旧版本的SDK在自动生成推送证书时存在bug,升级后可能就能修复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 21:42:33