Уведомление FCM не работает в IOS

Я интегрирую уведомления FCM и облачные сообщения в свое приложение. Я следовал точно так же, как указано в документе Firebase Doc. Даже я пробовал с примером кода, предоставленного FCM. это просто бросает некоторые предупреждения, как<FIRInstanceID/WARNING> Failed to fetch APNS token Error Domain=com.firebase.iid Code=1001 "The operation couldn’t be completed. and <FIRMessaging/WARNING> FIRMessaging registration is not ready with auth credentials.

Может кто-нибудь помочь мне разобраться. Я гуглюсь с этой недели, но ничего полезного я не получил. Мой код, написанный на Appdelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Register for remote notifications
    if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_7_1) {
        // iOS 7.1 or earlier
        UIRemoteNotificationType allNotificationTypes =
        (UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge);
        [application registerForRemoteNotificationTypes:allNotificationTypes];
    } else {
        // iOS 8 or later
        // [END_EXCLUDE]
        UIUserNotificationType allNotificationTypes =
        (UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge);
        UIUserNotificationSettings *settings =
        [UIUserNotificationSettings settingsForTypes:allNotificationTypes categories:nil];
        [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
        [[UIApplication sharedApplication] registerForRemoteNotifications];
    }

    // [START configure_firebase]
    [FIRApp configure];
    // [END configure_firebase]

    // Add observer for InstanceID token refresh callback.
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tokenRefreshNotification:)
                                                 name:kFIRInstanceIDTokenRefreshNotification object:nil];
    return YES;
}

// [START receive_message]
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    // If you are receiving a notification message while your app is in the background,
    // this callback will not be fired till the user taps on the notification launching the application.
    // TODO: Handle data of notification

    // Print message ID.
    NSLog(@"Message ID: %@", userInfo[@"gcm.message_id"]);

    // Pring full message.
    NSLog(@"%@", userInfo);
}
// [END receive_message]

// [START refresh_token]
- (void)tokenRefreshNotification:(NSNotification *)notification {
    // Note that this callback will be fired everytime a new token is generated, including the first
    // time. So if you need to retrieve the token as soon as it is available this is where that
    // should be done.
    NSString *refreshedToken = [[FIRInstanceID instanceID] token];
    NSLog(@"InstanceID token: %@", refreshedToken);

    // Connect to FCM since connection may have failed when attempted before having a token.
    [self connectToFcm];

    // TODO: If necessary send token to appliation server.
}
// [END refresh_token]

// [START connect_to_fcm]
- (void)connectToFcm {
    [[FIRMessaging messaging] connectWithCompletion:^(NSError * _Nullable error) {
        if (error != nil) {
            NSLog(@"Unable to connect to FCM. %@", error);
        } else {
            NSLog(@"Connected to FCM.");
        }
    }];
}
// [END connect_to_fcm]

- (void)applicationDidBecomeActive:(UIApplication *)application {
    [self connectToFcm];
}

// [START disconnect_from_fcm]
- (void)applicationDidEnterBackground:(UIApplication *)application {
    [[FIRMessaging messaging] disconnect];
    NSLog(@"Disconnected from FCM");
}
// [END disconnect_from_fcm]

Надеюсь получить ответ в ближайшее время. Заранее спасибо!

 ios 01 июн. 2016 г., 09:36
и да, я нацеливаюсь на одно устройство, а также добавляю маркер регистрации FCM в обязательное поле. В консоли Firebase статус сообщения завершен, но на устройстве нет push-уведомлений. Я проверил оба состояния, то есть приложение в фоновом и переднем плане, а также.
 Chris05 июн. 2016 г., 10:08
Да, это на Blaze
 ios 03 июн. 2016 г., 13:42
Крис один запрос, вы используете платную версию? Я работаю со свободным (искра)
 ios 02 июн. 2016 г., 13:27
он выдает сообщения «Подключен к FCM», но уведомлений нет, и я следовал тому же документу :(
 ios 01 июн. 2016 г., 09:28
Я отправляю сообщения через консоль Firebase (уведомление), и я добавил googleService-Info.plist. didFailtoRegister не вызывается. я получаю токен устройства, но на устройстве нет уведомления
 Chris31 мая 2016 г., 22:48
Как вы отправляете сообщения? Используете ли вы консоль Firebase и ориентированы на все устройства? Вы добавили GoogleService-Info.plist? Вы также можете попробовать реализовать приложение: didFailToRegisterForRemoteNotificationsWithError для получения дополнительной информации
 Chris02 июн. 2016 г., 03:00
Код выглядит правильно. Вы должны увидеть «Подключен к FCM», когда ваше приложение станет активным, и если вы переустановите свое приложение, вы должны получить последний токен, хотя это не имеет значения, поскольку вы можете настроить таргетинг на всех пользователей приложения из консоли Firebase. Я непременно проверю, правильно ли настроен ваш профиль обеспечения, а также ваши сертификаты:firebase.google.com/docs/cloud-messaging/ios/...  Я не могу опубликовать ответ, так как я тоже его настраиваю, и мне повезло, что он просто работает. Также не так много отладочной информации :(

Ответы на вопрос(0)

Ваш ответ на вопрос