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

Flutter iOS应用上传App Store遇ITMS-90078推送权限问题求助

解决Flutter iOS应用ITMS-90078推送权限问题
  • 检查Xcode项目Capabilities配置
    打开Xcode,进入项目target的「Signing & Capabilities」标签,确认「Push Notifications」开关处于开启状态,且下方自动生成了APS Environment条目(生产环境对应production)。如果没自动生成,点击「+ Capability」搜索添加「Push Notifications」,避免仅在开发者后台配置却未同步到Xcode项目。

  • 重新生成并验证分发配置文件

    1. 登录Apple开发者后台,找到对应App ID,确认「Push Notifications」已启用,且生产环境推送证书有效。
    2. 重新创建生产用Provisioning Profile,确保勾选了包含推送权限的App ID,生成后下载导入Xcode。
    3. 在Xcode中手动选择该配置文件(不要依赖自动签名),可以用命令security cms -D -i <配置文件路径>.mobileprovision查看文件内容,搜索aps-environment确认存在且值为production。
  • 清理Flutter项目缓存并重建
    执行以下命令清理缓存,避免旧配置干扰:

    flutter clean
    flutter pub get
    cd ios && pod install
    

    回到Xcode重新构建项目,确保所有配置已同步。

  • 规范构建上传流程

    1. 在Xcode中选择「Generic iOS Device」作为构建目标,执行「Product > Archive」。
    2. 通过Organizer导出IPA时,选择「App Store Connect」选项,确保导出的是生产环境包,且签名配置选择手动指定的分发证书和配置文件。
    3. 用Apple官方Transporter工具上传IPA,避免第三方工具导致权限丢失。
  • OneSignal配置排查

    1. 确保OneSignal Flutter插件为最新版本,旧版本可能存在适配问题。
    2. 检查Flutter初始化代码,确认正确调用了OneSignal初始化方法,且主动请求了通知权限:
      OneSignal.shared.setAppId("你的OneSignal App ID");
      OneSignal.shared.promptUserForPushNotificationPermission();
      
    3. 在OneSignal控制台确认已上传正确的生产环境推送证书,且App ID与项目配置一致。
    4. 启动应用时查看Xcode控制台日志,搜索「OneSignal」或「APNs」关键词,定位注册失败的具体错误信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:20:59