Ios 从应用程序中删除.mov文件

Ios 从应用程序中删除.mov文件,ios,nsfilemanager,Ios,Nsfilemanager,以下是我将视频数据写入文件的方式: let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "yyyyMMddHHmmssSSS" let date = dateFormatter.stringFromDate(NSDate()) let name = "\(date).mov" let documentsDirectory = NSFileManager.defaultManager().URLsForDirectory

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

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)
        }
    }
}  

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

试试这个:

 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
}  

我认为更简单的方法是创建新的目录,并在其中写入视频。当您需要删除此目录时。

什么不起作用?找到.mov文件了吗?使用
removitematill:error:
记录错误怎么样?请注意,在
应用程序willterminate:
中您不能做很多事情,您有大约5秒钟的时间来做事情。
应用程序是否会终止:
是否被调用?你有后台模式吗?捕获错误看看它有什么意思吗?我尝试使用此方法在应用程序启动时打印所有
.mov
文件。但是它没有打印出任何内容,这表明此方法无法找到以前创建的文件。
cacheURL
url
是什么意思?它们是在创建之前使用的。对不起,因为我对文件了解不多,所以我不能自己修改您的代码。同样,
url
是一个数组,但它应该是一个url。