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

React Native应用上架App Store收到ITMS-90078缺少推送权限报错如何解决?

ITMS-90078: Missing Push Notification Entitlement - 您的应用似乎注册了Apple Push Notification服务,但应用签名的权限列表中未包含'aps-environment'权限。

报错诱因
  1. 应用二进制包中存在APNs服务注册相关的代码,苹果静态扫描识别后判定应用需要使用推送能力。这里的代码可能是你主动编写的推送逻辑,也可能是React Native第三方依赖(比如推送SDK、统计SDK、Firebase系列组件等)内置的相关代码,哪怕你没有实际调用推送功能,只要存在相关代码就会触发检测。
  2. Xcode不会自动从Provisioning Profile中同步aps-environment权限到项目的entitlements文件,哪怕你在开发者后台给App ID开了推送权限,只要本地entitlements文件没有显式配置该权限,打包签名后的包就不会携带对应权限,最终触发该报错。
彻底修复方案

分两种场景处理即可完全避免后续提审触发该提示:

场景1:应用需要使用推送服务

  • 登录Apple开发者后台,进入对应App的App ID配置页,确认已经开启「Push Notifications」能力,且已配置好生产环境的推送SSL证书。
  • 打开Xcode的iOS项目,选中App主Target,进入「Signing & Capabilities」页,点击左上角+Capability,搜索添加「Push Notifications」,添加后Xcode会自动在项目entitlements文件中写入aps-environment字段,打包时会自动根据环境匹配对应值(开发包为development,生产包为production)。
  • 重新生成Distribution类型的Provisioning Profile,下载安装到本地,确保新的Profile已经包含推送权限。
  • 打包前可手动检查entitlements文件,确认存在aps-environment配置即可。

场景2:应用不需要使用推送服务

  • 先排查所有iOS原生依赖,移除未使用的推送相关SDK,或者给第三方SDK配置关闭推送相关的编译开关,从根源移除推送相关代码。
  • 如果排查后仍无法消除警告,可直接手动在entitlements文件中添加aps-environment字段,值设为production即可,添加该权限不会对应用功能产生任何负面影响,也不会被苹果拒绝,可直接避免检测触发。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:09:03