Итак, в моем приложении настроены push-уведомления, и они отлично работают. Недавно я только что узнал о тихих уведомлениях и хотел реализовать их на случай, если пользователь откажется от push-уведомлений. Я просмотрел все источники, которые смог найти, но не могу получить токен устройства. Я не уверен, что я что-то упускаю.
При тестировании я отклоню оповещение о push-уведомлениях после вызова этого метода:
- (void)registerForRemoteNotifications {
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
center.delegate = self;
[center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error){
if(!error){
dispatch_async(dispatch_get_main_queue(), ^{
[[UIApplication sharedApplication] registerForRemoteNotifications];
});
}
}];
}
в отличие от того, когда пользователь принимает push-уведомления:
didRegisterForRemoteNotificationsWithDeviceToken
никогда не вызывается, поэтому я не получаю текущий токен устройства и не могу обновить свой сервер.
Я добавил фоновые режимы -> удаленные уведомления, а также добавил ключ/значение в свой plist.
Я что-то упускаю? Заранее спасибо за помощь
didFailToRegisterForRemoteNotificationsWithError
и посмотрите, какую ошибку вы там получите. - person algrid   schedule 15.02.2018