React Native项目上传TestFlight报ITMS-90078缺失推送权限错误如何解决
修复ITMS-90078警告操作步骤
- 第一步:清理AppDelegate中推送相关注册代码
打开iOS项目下的AppDelegate.m(或AppDelegate.mm)文件,全局搜索包含registerForRemoteNotifications、didRegisterForRemoteNotificationsWithDeviceToken等推送相关的方法代码,全部注释或删除,这类代码会触发苹果的推送服务检测逻辑。 - 第二步:清理权限配置文件
- 打开Xcode进入项目Targets页,选择
Signing & Capabilities标签,确认能力列表中完全没有Push Notifications选项,如果有点击条目左侧的减号删除 - 手动打开项目中后缀为
.entitlements的权限文件,确认没有aps-environment相关的键值对,存在的话直接删除对应行
- 打开Xcode进入项目Targets页,选择
- 第三步:排除Expo模块的隐式推送依赖
你使用的是Expo 42 eject版本,旧版unimodules会默认引入expo-notifications相关逻辑,需要修改ios/Podfile文件:
找到use_unimodules!这一行,替换为以下内容:
use_unimodules!(exclude: ['expo-notifications'])
修改完成后进入ios目录,执行pod install --repo-update重新安装依赖,彻底排除推送相关模块。
- 第四步:重新生成配置文件并打包
- 登录苹果开发者后台,进入对应App ID的配置页,确认
Push Notifications功能处于关闭状态,重新生成发布用的Provisioning Profile,下载后双击导入Xcode - 执行Xcode顶部菜单
Product → Clean Build Folder清理构建缓存,删除DerivedData目录下的项目缓存后重新Archive上传即可。
该警告本身不会影响应用过审上架,若不需要彻底消除也可忽略,不会对你的应用功能造成任何影响。
内容的提问来源于stack exchange,提问作者Harikrishnan
相关产品推荐
相关产品推荐

