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。