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

Expo React Native iOS推送适配私有商店不同BundleID方案咨询

解决方案:适配私有商店Bundle ID的APNs推送配置

核心问题原因

你遇到的报错是因为Expo推送服务没有存储私有商店所用com.xxxx.yy.zzzzzz这个Bundle ID对应的APNs凭证,推送请求无法匹配到正确的推送授权,导致失败。以下是针对性解决步骤:


步骤1:在Apple Developer后台创建对应Bundle ID的APNs凭证

  • 登录Apple Developer后台,进入「Certificates, Identifiers & Profiles」
  • 进入「Identifiers」页面,点击「+」创建新的App ID,填入私有商店使用的com.xxxx.yy.zzzzzz
  • 开启「Push Notifications」服务,根据需求选择创建生产环境APNs证书或APNs密钥(推荐APNs密钥,可复用在多个Bundle ID上)

步骤2:在Expo项目中关联新Bundle ID的推送凭证

  • 修改项目配置文件(app.json/app.config.js),添加私有商店专属的Bundle ID配置:
    {
      "expo": {
        "ios": {
          "bundleIdentifier": "com.xxxx.yy.zzzzzz",
          "buildNumber": "对应版本号"
        },
        "extra": {
          "eas": {
            "projectId": "@company/project"
          }
        }
      }
    }
    
  • 运行expo credentials:manager,按提示选择当前项目,进入iOS推送凭证管理:
    • 选择「Push Notifications」→「Add a new push credential」
    • 上传之前在Apple Developer生成的APNs证书,或者关联已创建的APNs密钥

步骤3:重新构建私有商店专属IPA

  • 使用EAS Build构建时,指定对应配置(如果创建了专属构建profile,比如private-store):
    eas build --platform ios --profile private-store
    
  • 构建过程中确认Expo已正确关联新Bundle ID的APNs凭证,确保生成的IPA包含正确的Bundle ID和推送配置

步骤4:推送通知时匹配正确配置

  • 应用分发到私有商店后,用户安装获取的Expo Push Token会自动关联新Bundle ID的凭证
  • 发送推送时,确保使用对应这个Bundle ID的推送配置(如果用Expo Push API,直接使用新Token即可;如果用自定义推送服务,要指向新的APNs凭证)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 17:22:33