iOSキャッシュをクリアすると、私はNSFileManagerを使用していないファイルを削除しますが、シミュレータで行うと、役に立たないファイルはすべてクリアできます本当のiPhone(iPhone 5s)、それは無効で、私はこの質問を解決するのを助けることができますか?どうもありがとうございました!iOSクリアキャッシュ、シミュレータは有効ですが、本物のiPhoneでない場合
コード:
#define docPath [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]
#define cachePath [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]
- (void)clearCaches
{
[self clearCachesWithFilePath:cachePath];
NSArray *docFileArr = [self getAllFileNames:docPath];
for (NSString * fileName in docFileArr) {
if (![fileName isEqualToString:@"mqtt.cer"]) {
[self clearCachesWithFilePath:[docPath stringByAppendingString:[NSString stringWithFormat:@"/%@", fileName]]];
}
}
}
- (NSArray *)getAllFileNames:(NSString *)dirPath{
NSArray *files = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:dirPath error:nil];
return files;
}
- (BOOL)clearCachesWithFilePath:(NSString *)path{
NSFileManager *mgr = [NSFileManager defaultManager];
return [mgr removeItemAtPath:path error:nil];
}
'nil'を渡す代わりに' error'パラメータを使います。 – rmaddy