-2
cache.db-walファイルには、私のアプリケーションに機密情報があります.Cachesディレクトリのキャッシュファイルを削除する必要があります。swift 2.3のキャッシュディレクトリからファイルを削除するには?
cache.db-walファイルには、私のアプリケーションに機密情報があります.Cachesディレクトリのキャッシュファイルを削除する必要があります。swift 2.3のキャッシュディレクトリからファイルを削除するには?
私は上記の問題の解決法を見つけることができました。
func removeNetworkCache() {
let caches = (NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0])
let appId = NSBundle.mainBundle().infoDictionary!["CFBundleIdentifier"] as! String
let path = String(format:"%@/%@/Cache.db-wal",caches, appId)
do {
try NSFileManager.defaultManager().removeItemAtPath(path)
} catch {
print("ERROR DESCRIPTION: \(error)")
}
}
これはうまくいくはずです。
let fileManager = NSFileManager.defaultManager()
let documentsUrl = NSFileManager.defaultManager().URLsForDirectory(.CachesDirectory, inDomains: .UserDomainMask).first! as NSURL
let documentsPath = documentsUrl.path
do {
if let documentPath = documentsPath
{
let fileNames = try fileManager.contentsOfDirectoryAtPath("\(documentPath)")
for fileName in fileNames {
if (fileName == "cache.db-wal")
{
let filePathName = "\(documentPath)/\(fileName)"
try fileManager.removeItemAtPath(filePathName)
}
}
let files = try fileManager.contentsOfDirectoryAtPath("\(documentPath)")
}
} catch {
print("Could not clear: \(error)")
}