Firestore 找不到视频文件,但可以在播放器中播放

Firestore cannot find video file but it plays in Player

我想在上传到 FireStore 之前裁剪视频文件。我使用的代码如下:

func fileOutput(_ output: AVCaptureFileOutput,
                didFinishRecordingTo outputFileURL: URL,
                from connections: [AVCaptureConnection],
                error: Error?) {
    // Note: Because we use a unique file path for each recording, a new recording won't overwrite a recording mid-save.
    isRecording = false
    
    let exportPath = NSTemporaryDirectory().appendingFormat("\(randomString(length: 5)).MOV")
    let exportURL = URL(fileURLWithPath: exportPath)
    
    
    let asset = AVAsset(url: outputFileURL)
    let clipVideoTrack = asset.tracks( withMediaType: AVMediaType.video ).first! as AVAssetTrack
    let rect = CGRect(x: 0, y: 0, width: clipVideoTrack.naturalSize.height, height: clipVideoTrack.naturalSize.height)
    
    asset.cropVideoTrack(at: 0, cropRect: rect, outputURL: exportURL) { result in
        switch result {
        case .success():
            self.videoURL = exportURL
            self.postPicture(postURL: exportURL)
            self.isTaken = true
            
            var success = true
......

这就是我裁剪视频的方式:https://gist.github.com/vakhidbetrakhmadov/1402653b6f3e5ca99923a90ff8763b9c

如果我直接从didFinishRecording'outputFileURL'上传视频,是没有问题的。但是当我使用 'exportURL' 时,它不起作用。奇怪的是我可以使用相同的 URL (exportURL) 播放裁剪后的视频。这是调试日志:

    Post picture to database here
Video to play: file:///private/var/mobile/Containers/Data/Application/AA73684B-4199-47DB-954A-F6FD5AE3C8B5/tmp/6WYy2.MOV
2021-05-21 23:58:12.426620+0300 DogGram[91943:9315533] Body file is unreachable: /private/var/mobile/Containers/Data/Application/AA73684B-4199-47DB-954A-F6FD5AE3C8B5/tmp/6WYy2.MOV
  Error Domain=NSCocoaErrorDomain Code=260 "The file “6WYy2.MOV” couldn’t be opened because there is no such file." UserInfo={NSURL=file:///private/var/mobile/Containers/Data/Application/AA73684B-4199-47DB-954A-F6FD5AE3C8B5/tmp/6WYy2.MOV, NSFilePath=/private/var/mobile/Containers/Data/Application/AA73684B-4199-47DB-954A-F6FD5AE3C8B5/tmp/6WYy2.MOV, NSUnderlyingError=0x281102880 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}

谁能看出我做错了什么?

问题是,我在尝试上传文件的同时将文件保存到库中。我猜 iOS 在保存文件时锁定了文件。我只是轮流做了,现在可以了。