Обмен сообщениями Flutter Firebase (Push-уведомления) не работает для iOS в уже существующем приложенииIOS

Программируем под IOS
Ответить
Anonymous
 Обмен сообщениями Flutter Firebase (Push-уведомления) не работает для iOS в уже существующем приложении

Сообщение Anonymous »

Обмен сообщениями Firebase отлично работает для Android, но сборка iOS не может получать уведомления. Я следовал этому руководству, чтобы добавить push-уведомления в приложение: . Единственная разница в том, что у меня уже был идентификатор приложения на портале разработчиков Apple. Поэтому вместо создания нового идентификатора я включаю push-уведомление для существующего идентификатора.
Разрешения запрашиваются в приложении как таковые:

Код: Выделить всё

void requestAndRegisterNotification() async {
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);

FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
NotificationSettings settings =
await FirebaseMessaging.instance.requestPermission(
alert: true,
badge: true,
provisional: false,
sound: true,
);

if (settings.authorizationStatus == AuthorizationStatus.authorized) {
print('User granted permission');

FirebaseMessaging.onMessage.listen((RemoteMessage message) {
print(
'Message title: ${message.notification?.title}, body: ${message.notification?.body}, data: ${message.data}');
});
} else {
print('User declined or has not accepted permission');
}
}
Функция была вызвана в InitState, и я вижу, что приложение запрашивает разрешения при тестировании.
Сертификат на портале разработчика выглядит так: это: Сертификат. Идентификатор выглядит следующим образом: Идентификатор. Ключ для push-уведомления выглядит следующим образом: Key. APN Firebase Cloud Messasing выглядят следующим образом: Firebase.
Файл AppDelegate в Runner был изменен следующим образом:

Код: Выделить всё

import UIKit
import Flutter
import Firebase
import FirebaseMessaging

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
FirebaseApp.configure()
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
override func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Messaging.messaging().apnsToken = deviceToken
super.application(application, didRegisterForRemoteNotificationsWithDeviceToken: deviceToken)
}
}
Я не могу понять, откуда возникла проблема, поскольку нигде нет четкого сообщения об ошибке. Сборка Android работает должным образом, но iOS даже не получает push-уведомление от физического устройства. Даже когда я пытаюсь отправить уведомление на определенный токен FCM непосредственно из Firebase.

Подробнее здесь: https://stackoverflow.com/questions/737 ... -an-alread
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»