iOS开发时要清除缓存,模拟器上可以清除,但是真机清除失败,怎么回事呢?
这是我写的代码//清理缓存//获取缓存文件夹路径NSString*filePath=[NSHomeDirectory()stringByAppendingPathComp...
这是我写的代码
// 清理缓存
// 获取缓存文件夹路径
NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];
NSFileManager *fileManager = [NSFileManager defaultManager];
// 清除缓存
BOOL result = [fileManager removeItemAtPath:filePath error:nil];
模拟器上result返回YES,真机上返回NO
发现不加BOOL result = ,用以下代码遍历可清除缓存:
NSString *cachesPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *subFilePaths = [fileManager subpathsAtPath:cachesPath];
for (NSString *subFilePath in subFilePaths) {
NSString *path = [cachesPath stringByAppendingPathComponent:subFilePath];
[fileManager removeItemAtPath:path error:nil];
}
但是在真机上会有102b的剩余,在模拟器上没有是为什么呢? 展开
// 清理缓存
// 获取缓存文件夹路径
NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];
NSFileManager *fileManager = [NSFileManager defaultManager];
// 清除缓存
BOOL result = [fileManager removeItemAtPath:filePath error:nil];
模拟器上result返回YES,真机上返回NO
发现不加BOOL result = ,用以下代码遍历可清除缓存:
NSString *cachesPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *subFilePaths = [fileManager subpathsAtPath:cachesPath];
for (NSString *subFilePath in subFilePaths) {
NSString *path = [cachesPath stringByAppendingPathComponent:subFilePath];
[fileManager removeItemAtPath:path error:nil];
}
但是在真机上会有102b的剩余,在模拟器上没有是为什么呢? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询