Задать вопрос

Не могу получить deviceToken (didRegisterForRemoteNotificationsWithDeviceToken)?

Всем привет! Помогите, пожалуйста!
Пытаюсь сделать push-уведомления. На сервер нужно отправить логин, токен и девайс токен.
В методе didRegisterUserNotificationSettings пытаюсь сохранить deviceToken. Но у меня заходит в didFailToRegisterForRemoteNotificationsWithError.
Код прилагается
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")) {
        
        [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:
                                                                             UIUserNotificationTypeAlert |
                                                                             UIUserNotificationTypeBadge |
                                                                             UIUserNotificationTypeSound categories:nil]];
    } else {
        
        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert |
                                                                               UIRemoteNotificationTypeBadge |
                                                                               UIRemoteNotificationTypeSound)];
    }
    
    return YES;
}

- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings {
    
    [[UIApplication sharedApplication] registerForRemoteNotifications];
}

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    
    NSString *token = [[deviceToken description] stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:@"<>"]];
    token = [token stringByReplacingOccurrencesOfString:@" " withString:@""];
    
    NSLog(@"token - %@", token);
}

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
    NSLog(@"Failed to get token, error: %@", [error localizedDescription]);
}
  • Вопрос задан
  • 472 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
jazzz13
@jazzz13
1) что выводит [error localizedDescription] ?
2) попытка получить токен делается на реальном девайсе или симуляторе?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы