Повторите локальное уведомление в определенное время и через одно и то же время с интервалами - PullRequest
0 голосов
/ 18 февраля 2019

Это может быть дубликат заданного вопроса - Повторение локального уведомления ежедневно в установленное время с быстрым Но UILocalNotifications устарели iOS 10

Я работаю по тревогеприложение, мне нужно 2 вещи 1. локальное уведомление о времени 2. Повторите через промежуток времени

/// Code used to set notification
let content = UNMutableNotificationContent()
            content.body = NSString.localizedUserNotificationString(forKey: titleOfNotification, arguments: nil)
content.userInfo=[]

Код Это прекрасно работает уведомление о ударе в точное время

/* ---> Working Fine --> how i can repeat this after 60 second if untouched
   let triggerDaily = Calendar.current.dateComponents([.hour,.minute,], from: dates)
   let trigger = UNCalendarNotificationTrigger(dateMatching: triggerDaily, repeats: weekdays.isEmpty == true ? false : true)
*/


/// ---> Making it Repeat After Time - How Time is passed here ?
let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: 60, repeats: true)

/// ---> Adding Request
let request = UNNotificationRequest(identifier:dateOfNotification, content: content, trigger: trigger)                   UNUserNotificationCenter.current().add(request){(error) in
                        if (error != nil){
                            print(error?.localizedDescription ?? "Nahi pta")
                        } else {
                            semaphore.signal()
                            print("Successfully Done")
                        }
                    }

Как я могудостичь обеих целей одновременно?

1 Ответ

0 голосов
/ 18 февраля 2019

Вы можете использовать UNUserNotificationCenter для локальных уведомлений, в то время как для повторяющегося уведомления вы можете использовать метод executeFetchWithCompletionHandler, для этого метода вы должны установить минимальный интервал времени для вызова метода.

Пожалуйста, следуйтессылка для более подробной информации - https://developer.apple.com/documentation/uikit/core_app/managing_your_app_s_life_cycle/preparing_your_app_to_run_in_the_background/updating_your_app_with_background_app_refresh

ТАКЖЕ Код образца -

 func scheduleLocalNotification(subtitle: String, description: String, offerID: String) {
    // Create Notification Content
    let notificationContent = UNMutableNotificationContent()

    // Configure Notification Content
    notificationContent.title = "New lead for " + subtitle
    notificationContent.body = description
    notificationContent.userInfo = ["aps":
        ["alert": [
            "title":  subtitle,
            "body": description,
            "content-available": "1"
            ],
         "ofrid": offerID,
         "type": "BLBGSync",
         "landinguri": "abc.com",
        ]
    ]



    // Create Notification Request

    let triggertime = UNTimeIntervalNotificationTrigger(timeInterval: 3600, repeats: false)

    let notificationRequest = UNNotificationRequest(identifier: "YOUR_IDENTIFIER", content: notificationContent, trigger: triggertime)


    // Add Request to User Notification Center
    UNUserNotificationCenter.current().add(notificationRequest) { (error) in
        if let error = error {
            print("Unable to Add Notification Request (\(error), \(error.localizedDescription))")
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...