#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. ознакомьтесь с базовыми задачами