Не удается экспортировать аудио с помощью AVAssetExportSession, когда приложение находится в фоновом режиме в приложении iOS

#ios #swift #encoding #background #avassetexportsession

Вопрос:

Я использую SDAVAssetExportSession.exportAsynchronously() для экспорта своих аудиозаписей. Это прекрасно работает, когда приложение находится на переднем плане. Если я отправлю свое приложение в фоновый режим во время экспорта и выведу его на передний план, экспорт завершится со следующей ошибкой:

ошибка необязательна(Домен ошибки=Код домена AVFoundationErrorDomain=-11847 «Операция прервана» userInfo={NSLocalizedRecoverySuggestion=Остановите другие операции и повторите попытку., NSLocalizedDescription=Операция прервана, NSUnderlyingError=0x280fe4840 {Домен ошибки=NSOSStatusErrorDomain Код=-16121 «(null)»}})

Ниже приведен фрагмент кода, в котором происходит сбой приложения:

 session.exportAsynchronously(completionHandler:{
        DispatchQueue.main.async(execute: {
            switch session.status{
            case  .failed:
                print("failed (String(describing: session.error))")
                SVProgressHUD.dismiss()
                completion(false)
                self.isEditingAudio = false
            case .cancelled:
                print("cancelled (String(describing: session.error))")
                SVProgressHUD.dismiss()
                completion(false)
                self.isEditingAudio = false
            case .completed:
                completion(true)
                self.isEditingAudio = false
            default:
                print("complete")
                SVProgressHUD.dismiss()
            }
        })
 

Я включил фоновую обработку, фоновую выборку и звуковые режимы в своем приложении.

Любые предложения приветствуются.

Комментарии:

1. ознакомьтесь с базовыми задачами