Я разрабатываю приложение с целью развертывания iOS 7.1. Я использую Firebase для push-уведомлений. Push-уведомления работают нормально в устройствах iOS 9. Но не работает на устройствах iOS 10.Как отправить push-уведомление в iOS 10 через FCM (Firebase) или на родном?
Когда я искал, я нашел это примечание here.
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max) {
UIUserNotificationType allNotificationTypes =
(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge);
UIUserNotificationSettings *settings =
[UIUserNotificationSettings settingsForTypes:allNotificationTypes categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
} else {
// iOS 10 or later
#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
UNAuthorizationOptions authOptions =
UNAuthorizationOptionAlert
| UNAuthorizationOptionSound
| UNAuthorizationOptionBadge;
[[UNUserNotificationCenter currentNotificationCenter]
requestAuthorizationWithOptions:authOptions
completionHandler:^(BOOL granted, NSError * _Nullable error) {
}
];
// For iOS 10 display notification (sent via APNS)
[[UNUserNotificationCenter currentNotificationCenter] setDelegate:self];
// For iOS 10 data message (sent via FCM)
[[FIRMessaging messaging] setRemoteMessageDelegate:self];
#endif
}
И это примечание:
Важно: для устройств, работающих под управлением IOS 10 и выше, вы должны назначить свой объект делегата для объекта UNUserNotificationCenter получить отображение уведомлений.
Необходимо послать push-уведомление через этот метод (который является новым классом UNUserNotificationCenter
)? возможно ли это благодаря старым методам регистрации push-уведомлений?
Пожалуйста, дайте мне знать. Из-за этого мне нужно обновить свой проект до Swift версии 2.3 или 3.0, и это займет время.
Да это займет время, и вам необходимо обновить вышеуказанные методы, перечисленные на https://firebase.google.com/docs/cloud-messaging/ИОС/клиент. Это связано с внедрением UserNotifications в iOS 10. –
@iOSCuriosity благодарит за ответ. –
@iOСкачительность У меня такая же проблема. Мое приложение готово к выпуску appstore. Теперь у меня нет времени, чтобы изменить мое приложение на быстрое 3. Есть ли какое-либо решение для получения push-уведомлений в устройствах ios10 без обновления xcode и swift? –