如何在Flutter iOS端初始化Firebase以实现接收推送通知功能
Flutter iOS端Firebase初始化及推送配置方案
代码层修正
你当前的代码仅对安卓平台执行了Firebase初始化逻辑,且main函数的写法存在语法问题:Dart中async => { ... }格式会将大括号内的内容识别为Set集合返回,而非函数执行体,需按如下方式修正:
void main() async { WidgetsFlutterBinding.ensureInitialized(); // 无需区分平台,Firebase SDK会自动适配对应端逻辑 await Firebase.initializeApp(); await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); runApp(MyApp()); }
iOS端原生配置
出现No implementation found for method Firebase#initializeCore报错,大概率是iOS端没有正确添加Firebase配置文件,按以下步骤操作:
- 打开Firebase控制台对应项目,新增iOS应用,填写的Bundle ID需和Xcode项目中Runner的Bundle Identifier完全一致
- 下载生成的
GoogleService-Info.plist文件 - 打开Xcode,右键Runner根目录,选择「Add Files to "Runner"」,选中刚才下载的plist文件,勾选「Copy items if needed」和「Runner」target选项
- 进入项目ios目录,执行
pod deintegrate && pod install完成依赖更新 - 回到项目根目录执行
flutter clean清理缓存后重新运行即可
推送通知额外配置
要实现iOS端推送通知接收,还需完成以下配置:
- 打开Xcode中Runner项目的Signing & Capabilities标签页,添加「Push Notifications」能力
- 继续添加「Background Modes」能力,勾选「Remote notifications」选项
- 在Firebase控制台上传你的APNs认证密钥或者对应环境的推送证书
内容的提问来源于stack exchange,提问作者Wasiq Hussain
相关产品推荐
相关产品推荐

