Search code examples
swiftnsfilemanagernsdocumentdirectory

How to save video data to document directory in swift?


I want to save video data to document directory.
I know how to create document directory my folder.
But how to save data that document directory??

let fileManager = FileManager.default
if let tDocumentDirectory = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first {
    let filePath =  tDocumentDirectory.appendingPathComponent("\(FOLDER_NAME)") 
    if !fileManager.fileExists(atPath: filePath.path) {
        do {
            try fileManager.createDirectory(atPath: filePath.path, withIntermediateDirectories: true, attributes: nil)
        } catch {
            print("Couldn't create document directory")
        }
    }
    print("Document directory is \(filePath)")
}

Now, I have (FOLDER_NAME) folder. But How to save video data to (FOLDER_NAME) folder??

And How to I get saved video file path?

I apologize for my stupidity.


Solution

  • In your Info.plist, add the following permissions:

    Supports opening documents in place: YES

    Application supports iTunes file sharing: YES

    let videoFilename = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] + "/" + getFileName() //return your filename from the getFileName function
    videoNSData.write(toFile: videoFilename, atomically: true)
    

    Then, inside Files, you can get a folder named with your app name, where you can access your saved video file (with the specified filename).