Локальные уведомления не работают в независимом приложении WatchOS - PullRequest
1 голос
/ 12 апреля 2020

Я не могу понять, как я могу запланировать локальное уведомление в независимом приложении WatchOS

В моем делегате расширения я пытаюсь настроить его

let center = UNUserNotificationCenter.current()  

    func applicationDidFinishLaunching() {  

        center.delegate = self  
        let options: UNAuthorizationOptions = [.alert, .badge, .sound]  
        center.requestAuthorization(options: options) { (granted, error) in  
            if granted {  
                WKExtension.shared().registerForRemoteNotifications()  
            }  
        }  
    }  

    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {  
        completionHandler()  
    }  

    func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {  
        completionHandler([.alert, .sound,.badge])  
    }  

И это код расписания:

let content = UNMutableNotificationContent()  
                            content.title = "Meniny Oslavuje"  
                            content.body = nameEntry.name  

                            var dateComponents = DateComponents()  
                            dateComponents.month = dateNameEntry.month  
                            dateComponents.day = dateNameEntry.day  
                            dateComponents.hour = self.reminderTimeHour  
                            dateComponents.minute = self.reminderTimeMinute  

                            let trigger = UNCalendarNotificationTrigger(dateMatching:dateComponents , repeats: true)  
                            let request = UNNotificationRequest(identifier: uuid.uuidString, content: content, trigger: trigger)  
                            center.removeAllPendingNotificationRequests()  
                            center.add(request) { (err) in  
                                print(err)  
                            }  

Источник: https://forums.developer.apple.com/message/414391#414391

1 Ответ

0 голосов
/ 14 апреля 2020

Итак, проблема связана с количеством уведомлений, которые я могу отправить.

Я создаю приложение на основе событий, где я знаю, какое событие происходит каждый день.

Поэтому, когда я пытался запланировать событие за каждый день (365 дней = 365 уведомлений) я достиг лимита уведомлений 64.

И поскольку мы находимся в апреле, моё уведомление не может быть инициировано ... так как оно сильно отстает от 64 дней ...

...