title: Error APNS device token not set before retrieving FCM Token for Sender ID
body: <p>I am receiving messages from firebase for notifications with APNs. In firebase, I have the certificate of APNs key, with the same id in the Xcode project in Firebase that is extracted from Apple Developer.</p>
  <p>But I don't know why this could be happening and I get this error and it is registering two tokens in the Messaging extension:</p>
  <pre><code>extension AppDelegate : MessagingDelegate {
    func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {}}
  </code></pre>
  <blockquote>
  <p>APNS device token not set before retrieving FCM Token for Sender ID
  '########'. Notifications to this FCM Token will not be delivered
  over APNS.Be sure to re-retrieve the FCM token once the APNS device
  token is set.</p>
  </blockquote>
  <p>Added what I have in the AppDelegate</p>
  <pre><code>import Firebase
  import MasivPushIosSdk
  
  @UIApplicationMain
  class AppDelegate: UIResponder, UIApplicationDelegate{
  
      var firebaseToken: String = &quot;&quot;
      
      func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -&gt; Bool {
  
          FirebaseApp.configure()
          self.registerForFirebaseNotification(application: application)
          Messaging.messaging().delegate = self
          return true
      }
      
      func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
          Messaging.messaging().apnsToken = deviceToken
      }
  
      func registerForFirebaseNotification(application: UIApplication) {
          if #available(iOS 10.0, *) {
              // For iOS 10 display notification (sent via APNS)
              UNUserNotificationCenter.current().delegate = self
  
              let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
              UNUserNotificationCenter.current().requestAuthorization(
                  options: authOptions,
                  completionHandler: {_, _ in })
          } else {
              let settings: UIUserNotificationSettings =
                  UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
              application.registerUserNotificationSettings(settings)
          }
  
          application.registerForRemoteNotifications()
      }
      
  }
  
  extension AppDelegate: MessagingDelegate, UNUserNotificationCenterDelegate {
  
  //MessagingDelegate
      func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {
          self.firebaseToken = fcmToken!
          print(&quot;Firebase token: \(fcmToken)&quot;)
      }
  
      //UNUserNotificationCenterDelegate
      func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -&gt; Void) {
          print(&quot;APNs received with: \(userInfo)&quot;)
       }
  }
  </code></pre>