我有一个疑问,我构建了一个iOS应用程序,该文件将文件上传到Amazon s3(照片和视频),但是,当我将其放在后台时,上传立即停止了,我正在阅读有关内容并实施 DispatchQueue.global()。async 可以防止这种情况,并且可以用于照片,但是当尝试上传视频时,应用崩溃,调试时,我看到当视频将被压缩(以减少网络使用量)时,临时文件不会生成(这是将要上传的最终文件):
class func compressVideo(_ inputURL: URL, outputURL: URL, handler:@escaping (_ session: AVAssetExportSession)-> Void){
let urlAsset = AVURLAsset(url: inputURL, options: nil)
let exportSession = AVAssetExportSession(asset: urlAsset, presetName: AVAssetExportPresetMediumQuality)
exportSession!.outputURL = outputURL
exportSession!.outputFileType = AVFileType.mp4
exportSession!.shouldOptimizeForNetworkUse = true
exportSession!.exportAsynchronously { () -> Void in
handler(exportSession!)
}
}
我不知道如何解决它,但是我主要担心的是这种方法是否是上传文件的最佳方法,因为iOS对此类异步任务设置了限制。您有什么建议?
谢谢