Junior — Middle
Tətbiqdə tapşırıqları arxa planda yerinə yetirməyin hansı üsulları mövcuddur?
sobes.tech Süni İntellekt
AI-dan cavab
iOS-da fon rejimində vəzifələri yerinə yetirmək üçün bir neçə yanaşma istifadə edilə bilər:
- Background Tasks (BGTaskScheduler) — sistemin optimal vaxtda yerinə yetirdiyi fon vəzifələrini planlaşdırmaq üçün müasir API.
- Background Fetch — tətbiqə arxa planda məzmunu mütəmadi olaraq yeniləməyə imkan verir.
- NSURLSession ilə arxa plan konfiqurasiyası — arxa planda məlumatların yüklənməsi və yüklənməsi üçün.
- Dispatch Queue (GCD) — asinxron vəzifələri yerinə yetirmək üçün, lakin onlar yalnız tətbiq aktiv olduqda işləyir.
- OperationQueue — GCD-ə bənzər, lakin daha çevik asılılıqları idarə etmə imkanı ilə.
- Sükut push bildirişləri — tətbiqi arxa planda vəzifələri yerinə yetirmək üçün oyandırmağa imkan verir.
BGTaskScheduler istifadə nümunəsi:
import BackgroundTasks
func scheduleAppRefresh() {
let request = BGAppRefreshTaskRequest(identifier: "com.example.apprefresh")
request.earliestBeginDate = Date(timeIntervalSinceNow: 15 * 60) // 15 dəqiqə sonra
do {
try BGTaskScheduler.shared.submit(request)
} catch {
print("Vəzifəni planlaşdıra bilmədi: \(error)")
}
}
BGTaskScheduler.shared.register(forTaskWithIdentifier: "com.example.apprefresh", using: nil) { task in
// Arxa plan vəzifəsinin yerinə yetirilməsi
task.setTaskCompleted(success: true)
}