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

Flutter 3.19.1应用从Xcode 16.1安装后立即崩溃(已配置FCM)

Flutter 3.19.1 + Xcode 16.1 安装后立即崩溃跳设置的解决办法

结合你提到的FCM配置情况,崩溃后跳转设置基本和权限配置、Xcode兼容性相关,试试下面这些方案:

  • 补全推送权限描述
    Xcode16对Info.plist的权限校验比旧版本严格很多,崩溃跳设置大概率是缺少推送相关权限说明。打开ios/Runner/Info.plist,添加以下配置:

    <key>NSRemoteNotificationUsageDescription</key>
    <string>需要推送权限接收通知提醒</string>
    <key>NSNotificationSettings</key>
    <dict>
        <key>NSAlertStyle</key>
        <string>alert</string>
    </dict>
    
  • 更新Firebase Pod依赖版本
    Flutter 3.19.1发布时Xcode16还未正式上线,旧版本Firebase Pod可能存在兼容性问题。修改Podfile指定兼容的版本:

    pod 'Firebase/Core', '~> 10.22.0'
    pod 'Firebase/Messaging', '~> 10.22.0'
    

    然后执行命令清理并重装依赖:

    cd ios
    pod deintegrate
    pod install --repo-update
    
  • 调整Firebase初始化逻辑
    避免在启动阶段直接请求推送权限,这会增加崩溃概率。初始化代码改为:

    void main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
      runApp(const MyApp());
    }
    

    推送权限请求放到首页的initState中执行:

    @override
    void initState() {
      super.initState();
      FirebaseMessaging.instance.requestPermission();
    }
    
  • 查看崩溃日志定位精准原因
    连接设备到Xcode,打开Window > Devices and Simulators,选中你的设备后点击View Device Logs,找到对应崩溃记录。比如日志提示dyld: Library not loaded就是Pod依赖未正确集成;如果是权限相关问题,会明确指出缺少哪个权限描述。

  • 验证签名与推送权限配置
    确认你的Provisioning Profile包含APNs推送权限,且Bundle ID与Firebase控制台配置完全一致。若有问题,重新生成Provisioning Profile后再重新签名打包。

内容的提问来源于stack exchange,提问作者Geeky's World

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 02:48:13