Fon rejimidagi ishlar
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!
