Я пытаюсь интегрировать сообщение firebase в мое приложение. На Android работает отлично, но в Ios при сборке приложения открывается белый экран и больше ничего не появляется.
Мне удалось успешно запустить приложение только один раз, когда появился запрос на получение push-сообщений из базы, даже до того, как я смог отправить уведомление.
Я удалил приложение и попытался установить его снова, после этого оно остается только на белом экране, и Ios больше не выдает уведомление, запрашивающее разрешение на отправку push.
В X-code Capabilities я включил Push-уведомления, а в фоновых режимах «Фоновая выборка» и «Удаленные уведомления»
Кто-нибудь когда-либо испытывал это?
Проверка: firebase_messaging: ^ 5.0.1 + 1
Главный дротик
import 'package:App/injection/injector.dart';
import 'package:App/localization/MyLocalizationsDelegate.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter/material.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:App/pages/home/home.dart';
void main() => runApp(new NewsApp());
class NewsApp extends StatelessWidget {
MyLocalizationsDelegate myLocation = const MyLocalizationsDelegate();
FirebaseMessaging firebaseMessaging = new FirebaseMessaging();
String textToken = 'AQUI VAI O TOKEN';
NewsApp(){
Injector.configure(Flavor.PRO);
}
@override
void initState(){
print('iniciou o initState()');
firebaseMessaging.configure(
onLaunch: (Map<String, dynamic> msg){
print('chamou onLaunch');
},
onResume: (Map<String, dynamic> msg){
print('chamou onResume');
},
onMessage: (Map<String, dynamic> msg){
print('chamou onMessage');
}
);
firebaseMessaging.requestNotificationPermissions(
const IosNotificationSettings(
sound: true,
alert: true,
badge: true
)
);
firebaseMessaging.onIosSettingsRegistered.listen((IosNotificationSettings setting) {
print('Configurações do IOS registradas');
});
firebaseMessaging.getToken().then((token){
update(token);
});
}
update(String token){
print(token);
textToken = token;
// setState((){
//
// });
}
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
initState();
return new MaterialApp(
debugShowCheckedModeBanner: false,
title: 'App',
theme: new ThemeData(
primarySwatch: Colors.blue,
primaryColor: Colors.blue,
accentColor: Colors.blue,
brightness: Brightness.light
),
supportedLocales: MyLocalizationsDelegate.supportedLocales(),
localizationsDelegates: [
myLocation,
DefaultCupertinoLocalizations.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
localeResolutionCallback: myLocation.resolution,
home: HomePage.create(),
);
}
}