My Firebase Cloud Messaging использовался (всплывающее уведомление на экране на реальном устройстве) около 2 недель назад.Я занимался разработкой других вещей в приложении (обновление таблиц).Затем я вернулся в FCM, и это прекратилось.Я прочитал почти все ссылки из Интернета.
Мой AppDelegate:
import UIKit
import CoreData
import UserNotifications
import Firebase
import FirebaseMessaging
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate, MessagingDelegate {
var window: UIWindow?
let defaults = Defaults()
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.window?.rootViewController = rootVC
//Permission to send notifications
UNUserNotificationCenter.current().delegate = self
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { (granted, error) in
if error != nil {
print("Request authorization notification failed!")
} else {
print("Request authorization notification succeeded!")
}
}
UIApplication.shared.setMinimumBackgroundFetchInterval( 11 )
let autorizacao: UNAuthorizationOptions = [.badge, .alert, .sound]
UNUserNotificationCenter.current().requestAuthorization(options: autorizacao) { ( granted, error )in
Messaging.messaging().delegate = self
Messaging.messaging().shouldEstablishDirectChannel = true
}
application.registerForRemoteNotifications()
FirebaseApp.configure()
return true
}
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
print("token: \(fcmToken)")
if defaults.getTokenFCM() == "" {
defaults.setTokenFCM(fcmToken)
}
}
func messaging(_ messaging: Messaging, didReceive remoteMessage: MessagingRemoteMessage) {
print(remoteMessage.appData)
}
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
completionHandler([.alert, .sound])
}
}
На нем напечатано: «Запрос уведомления об авторизации выполнен успешно!»
Я вижу свой токен на консоли, а также сообщение, которое я отправляю с console.firebase.google.com
с высоким приоритетом.
Нет ошибок на консоли.
Да, я воссоздалмой APN сертификат пытаюсь решить, но безуспешно.Я обновил свою цепочку ключей и свою конфигурацию Firebase.
Push-уведомление о возможностях включено и хорошо настроено.Также удаленные уведомления в фоновых режимах.
FirebaseAppDelegateProxyEnabled Логическое НЕТ в info.plist
Я пытался получить push передний план и фон, оба не работают.
Я используюXcode 10.1, iphone (реальное устройство) 6s.
Я действительно не знаю, что еще попробовать.
Любая помощь, пожалуйста?