Я запускаю таймер в своем приложении, но таймер не запускается через 3 минуты, пока приложение находится в фоновом режиме.Я хочу, чтобы этот таймер работал все время.С помощью этого таймера я вызываю функцию, когда часы, которые я напечатал на этикетке, и данные часов, которые я извлек из Firebase, совпадают.Поэтому я продолжаю получать данные из базы Firebase.Я должен запустить это в фоновом режиме.Итак, я запускаю запланированную функцию.Например, когда это 22:00, я запускаю эту функцию, но, как я уже сказал, она не работает в фоновом режиме.Как я могу работать более 3 минут в фоновом режиме?
2. вопрос есть;Есть ли функция запланированного назначения в Firebase?Есть ли в Firebase crontab?Могу ли я адаптировать это к своему быстрому приложению?
timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { [weak self] timer in
self?.tickTimer()
}
Этот код не работает в фоновом режиме более 3 минут.
Есть ли у меня шансзапустить приложение на определенные периоды в коде ниже?в какие периоды iOS дает вам возможность работать?Я хочу запускать функцию tickTimer () в определенные периоды.Период в секундах "UIApplication.shared.setMinimumBackgroundFetchInterval (1800)" определяет эта функция?
var newData = false
private func application(application: UIApplication, performFetchWithCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
newData = true
let viewController = self.window?.rootViewController as! MainTableViewController
viewController.tickTimer()
completionHandler(newData ? .newData : .failed) // OR completionHandler(newData ? .newData : .noData)
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
//UIApplication.shared.isIdleTimerDisabled = true
UIApplication.shared.setMinimumBackgroundFetchInterval(1800)
true
}