Flutter iOS端如何禁用首次启动的通知权限弹窗?
解决iOS真机上firebase_messaging自动弹出通知权限弹窗的问题
针对你使用firebase_messaging: ^11.1.0遇到的iOS首次启动自动弹通知权限的问题,可通过以下步骤禁用:
修改iOS项目的Info.plist文件
在ios/Runner/Info.plist中添加以下配置,禁用Firebase Messaging的自动初始化:<key>FirebaseMessagingAutoInitEnabled</key> <false/>确保代码中未主动触发权限请求
检查项目中是否存在调用FirebaseMessaging.instance.requestPermission()的代码,若有则移除或仅在用户主动开启通知功能时再调用。清理并重新构建项目
执行以下命令确保配置生效:flutter clean cd ios && pod install && cd .. flutter run
原理说明:firebase_messaging: ^11.1.0在iOS平台默认会自动初始化消息服务,这个过程会触发系统的通知权限请求弹窗。通过FirebaseMessagingAutoInitEnabled禁用自动初始化后,只有当你主动调用权限请求方法时,才会弹出权限弹窗。
内容的提问来源于stack exchange,提问作者Faz
相关产品推荐
相关产品推荐

