Uygulama içerisindeki bir viewcontroller'da video oynatıyorum. Bu oynatma işlemi öncesinde de videoyu çağırmak için şu şekilde bir arkaplan görevi oluşturuyorum ki main thread kitlenmesin:
let priority = DISPATCH_QUEUE_PRIORITY_BACKGROUND dispatch_async(dispatch_get_global_queue(priority, 0)) {
//burada video kontrol ediliyor, bazen zaman alabiliyor buradaki işlemler...
//işlemler bitince burada video oynatmayı tetikleyen fonksiyon çağrılıyor ve video oynatılıyor...
}
Daha sonra, kullanıcı videonun açılmasını beklemeden sıkılıp bu video izleme ekranından çıkınca (benim uygulamamda bir geri tuşu var. Basit bir button. Dokunulunca diğer bir ViewController'e gidiyor.), işte tam bu esnada arkaplan görevi de sonlansın istiyorum. Bunu nasıl yapacağım ?
Çünkü bunu yapmadığım için, kullanıcı video izleme ekranında olmadığı halde arkaplan görevi sonlanmadığı için birdenbire hiç olmadık bir viewcontroller'da video oynatılmaya başlıyor. Tam bir kabus gibi :)