This is how I write video data to file:
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)
When the app terminates, I want to delete the files I created before. This is what I am doing now:
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)
}
}
}
But it doesn't work. What should I do? Thank you.
Try this:
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
}