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
相关产品推荐
相关产品推荐

