Мой код.
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
center.delegate = self;
[center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert) completionHandler:^(BOOL granted, NSError * _Nullable error) {
if (!error) {
NSLog(@"~ios10-----");
dispatch_async(dispatch_get_main_queue(), ^{
[[UIApplication sharedApplication] registerForRemoteNotifications];
});
}else{
NSLog(@"~ios10---error--");
}
}];
Этот код в iPhone 5s ios 11.4.1 работает, вызывается метод didRegisterForRemoteNotificationsWithDeviceToken. А вот в iPhone 6s ios 13.5.0 не работает. После нескольких дней гугления в ошибке соединения с APNS нашел решение, исправление заключалось в том, чтобы изменить телефоны для использования альтернативный DNS, такой как Google (8.8.8.8) или Cloudflare (1.1.1.1) в настройках Wi-Fi. Но я не могу изменить DNS телефона пользователя.
Если у вас есть какие-либо идеи, пожалуйста, дайте мне знать. Спасибо