Моя цель - создать локальное уведомление, которое должно срабатывать каждый день. Тело уведомления должно быть другим каждый день. Это строковый массив, одна строка которого должна быть показана в уведомлении. Неважно, будет ли String выбран случайным образом или в последовательности упорядочен массив.
var arrayText: [String] = ["text1",
"text2",
"text3",
"text4",
"text5"]
Это то, как далеко я дошел. Просто обычное локальное уведомление, каждый раз с одним и тем же основным текстом.
func scheduleNotifications()
{
let center = UNUserNotificationCenter.current()
center.requestAuthorization(options: [.alert, .sound]) { (granted, error) in
if !granted {
print("Something went wrong")
}
}
let content = UNMutableNotificationContent()
content.title = "Test"
content.body = "test"
content.sound = UNNotificationSound.default
let gregorian = Calendar(identifier: .gregorian)
let now = Date()
var components = gregorian.dateComponents([.year, .month, .day, .hour, .minute, .second], from: now)
components.hour = 18
components.minute = 42
components.second = 10
let date = gregorian.date(from: components)!
let triggerDaily = Calendar.current.dateComponents([.hour, .minute, .second], from: date)
let trigger = UNCalendarNotificationTrigger(dateMatching: triggerDaily, repeats: true)
let uuidString = UUID().uuidString
let request = UNNotificationRequest(identifier: uuidString, content: content, trigger: trigger)
center.add(request, withCompletionHandler: { (error) in
if let error = error {
// Something went wrong
}
})
}
}
Справка будет потрясающей. И спасибо за каждый полезный ответ. Искренне Ваш. Relbot