Fon rejimidagi ishlar


ULASHISH

Fon rejimlari va vazifalar

To‘g‘ri fon rejimlarini e’lon qiling va yangilash (refresh) yoki qayta ishlash (processing) vazifalari uchun ishni BGTaskScheduler yordamida rejalashtiring.


Background Modes’ni yoqish

Signing & Capabilities bo‘limida Background Modes ni qo‘shing.

Kerakli rejimlarni belgilang (masalan, Background fetch, Background processing, Location updates, Audio, VOIP).


Fon vazifalari (BGTaskScheduler)

Ilovangiz faol bo‘lmaganda ishni rejalashtirish uchun BGAppRefreshTask yoki BGProcessingTask dan foydalaning.

Misol

import BackgroundTasks

let refreshTaskID = "com.example.myapp.refresh"

func scheduleRefresh() {
  let request = BGAppRefreshTaskRequest(identifier: refreshTaskID)
  request.earliestBeginDate = Date(timeIntervalSinceNow: 15 * 60)
  try? BGTaskScheduler.shared.submit(request)
}

func handleRefresh(task: BGAppRefreshTask) {
  scheduleRefresh() // reschedule
  task.expirationHandler = { /* cancel work */ }
  // Do lightweight refresh work here
  task.setTaskCompleted(success: true)
}
import SwiftUI
import BackgroundTasks

@main
struct MyApp: App {
  init() {
    BGTaskScheduler.shared.register(forTaskWithIdentifier: "com.example.myapp.refresh", using: nil) { task in
      if let t = task as? BGAppRefreshTask { handleRefresh(task: t) }
    }
  }
  var body: some Scene { WindowGroup { ContentView() } }
}

Ushbu misol BGAppRefreshTask ni rejalashtiradi, ilova ishga tushganda handler’ni ro‘yxatdan o‘tkazadi va yengil ish bajarilgach vazifani tugallangan deb belgilaydi.

Maslahat: Fonda bajarilish cheklangan.

Ishni qisqa tuting, faqat kerakli rejimlarni e’lon qiling va Background Tasks debugger’ida sinab ko‘ring.




W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!