Próbuję zaplanować powiadomienia lokalne na określone dni tygodnia (np. Poniedziałek, środę itp.), A następnie powtarzać je co tydzień. ten sposób ekran powiadomień ustawienie wygląda:Powtarzanie powiadomień lokalnych z określonych dni tygodnia (Swift 3 iOS 10)
Użytkownik może wybrać czas zgłoszenia i powtarzających dni.
Moja metoda planowania pojedynczy non powtarzający powiadomienie wygląda następująco:
static func scheduleNotification(reminder: Reminder) {
// Setup notification content.
let content = UNMutableNotificationContent()
//content.title = NSString.localizedUserNotificationString(forKey: "Reminder", arguments: nil)
content.body = NSString.localizedUserNotificationString(forKey: reminder.reminderMessage, arguments: nil)
content.sound = UNNotificationSound.default()
// Configure the triger for specified time.
//
let dateComponentes = reminder.dateComponents
// TODO: Configure repeating alarm
// For the testing purposes we will not repeat the reminder
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponentes, repeats: false)
// Create the request object.
let request = UNNotificationRequest(identifier: "\(reminder.reminderId)", content: content, trigger: trigger)
// Schedule the request.
let notificationCenter = UNUserNotificationCenter.current()
notificationCenter.add(request) { (error: Error?) in
if let theError = error {
print(theError.localizedDescription)
}
}
}
Data komponenty są pobierane z widget UIDatePicker i przechowywane w klasie Przypomnienie:
let date = reminderTimeDatePicker.date.addingTimeInterval(60 * 60 * 24 * 7)
let components = Calendar.current.dateComponents([.weekday, .hour, .minute], from: date)
...
reminder.dateComponents = components
Mam tablicę selectedDays[Int]
(jako własność klasy przypomnień) do przechowywania informacji o dniach tygodnia, w których powiadomienie powinno wystrzelić.
Jak mogę zaplanować powiadomienie w konkretny dzień tygodnia i jak go powtarzać co tydzień?
Nawet jeden komentarz będzie pomocny i z góry dziękuję.
Możliwy duplikat [iOS Wyzwalanie zgłoszenia: co dwa tygodnie i/lub kwartalne] (https://stackoverflow.com/questions/41441124/ios -notyfikator-wyzwalacz-co dwa tygodnie i co-kwartał) – Honey
Zobacz także [Jak ustawić notyfikację n który UserNotifications Framework] (https://stackoverflow.com/questions/38252389/how-i-can-set-a-notification-which-usernotifications-framework) – Honey
Czy udało Ci się utworzyć powiadomienie na wiele dni powszednich? Czy też musi być tworzony osobno? @Gideon – KarenAnne