Я хотел бы запускать функцию (совершать вызов API) ежедневно в определенное время, например, 10 утра и 10 вечера ежедневно. Каким будет эквивалент cronjob в swift?
Я пытался реализовать Timer как:
var dateComponents = DateComponents()
dateComponents.timeZone = TimeZone(abbreviation: "NPT")
dateComponents.hour = 10
dateComponents.minute = 00
let userCalendar = Calendar.current
let myTime = userCalendar.date(from: dateComponents)
let timer = Timer(fireAt: myTime!, interval: 0, target: self, selector: #selector(updateTimer), userInfo: nil, repeats: false)
RunLoop.main.add(timer, forMode: RunLoopMode.commonModes)
Функция выбора:
@objc func updateTimer() {
print("Hello")
}
Вместо запуска в указанное время, функция выбора выполняется каждый раз, когда я запускаю приложение, а не в указанное время. Как я могу решить это?
Редактировать: Мне нужно, чтобы это также запускалось из фона. Я буду использовать службу определения местоположения в моем приложении.