从app中删除.mov文件

时间:2015-11-24 13:40:28

标签: ios nsfilemanager

这是我将视频数据写入文件的方式:

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyyMMddHHmmssSSS"
let date = dateFormatter.stringFromDate(NSDate())
let name = "\(date).mov"
let documentsDirectory = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let url = documentsDirectory.URLByAppendingPathComponent(name)
videoData.writeToFile(url.path!, atomically: true)

当应用程序终止时,我想删除之前创建的文件。 这就是我现在正在做的事情:

func applicationWillTerminate(application: UIApplication) {
    let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
    for url in urls {
        if url.absoluteString.containsString(".mov") {
            try! NSFileManager.defaultManager().removeItemAtURL(url)
        }
    }
}  

但它不起作用。我该怎么办?谢谢。

2 个答案:

答案 0 :(得分:2)

试试这个:

 func applicationWillTerminate(application: UIApplication) {
    let documentPath = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
    let url:NSURL = documentPath[0]
    let fileManager = NSFileManager.defaultManager()

    let files = fileManager.enumeratorAtPath(url.path!)
    while let file = files?.nextObject() {
         if file.containsString(".mp4") {
            let filepath = url.path! + "/\(file)"
            do {
                try fileManager.removeItemAtPath(filepath)
                print("removeurlsuccess")
            } catch let error{
                print("removeurlfail")

            }
        }

    }        // Override point for customizati
}  

答案 1 :(得分:0)

我认为更简单的是创建新目录,将视频写入其中。当你需要删除这个目录时。