查看工程中图片资源大小,是否使用
2016-03-09 19:32
351 查看
1.全局变量:
2.方法:
- (NSInteger)codeLinesWithPath:(NSString *)path{
NSFileManager *fileManaget = [NSFileManager defaultManager];
BOOL isDir = NO;
BOOL isExist = [fileManaget fileExistsAtPath:path isDirectory:&isDir];
if (!isExist) {
return 0;
}
if (isDir) {//文件夹
NSArray *arr = [fileManaget contentsOfDirectoryAtPath:path error:nil];
int sum = 0;
for (NSString *fileName in arr) {//文件(夹)
NSString *fullPath = [NSString stringWithFormat:@"%@/%@",path,fileName];
sum += [self codeLinesWithPath:fullPath];
}
return sum;
}else{//文件
/*
NSString *extension = [[path pathExtension] lowercaseString];
if (!([extension isEqualToString:@"h"] || [extension isEqualToString:@"m"] || [extension isEqualToString:@"mm"])) {
return 0;
}
NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSArray *arr = [content componentsSeparatedByString:@"\n"];
return arr.count;
*/
NSString *extension = [[path pathExtension] lowercaseString];
if ([extension isEqualToString:@"png"] || [extension isEqualToString:@"jpg"] || [extension isEqualToString:@"gif"]) {
NSString *imageName = path.lastPathComponent;
NSArray *imgArr = [imageName componentsSeparatedByString:@"@"];
imageName = imgArr.firstObject;
imgArr = [imageName componentsSeparatedByString:@"."];
imageName = imgArr.firstObject;
self.isPicUsed = NO;
[self isImageUsedWithImageName:[NSString stringWithFormat:@"\"%@\"",imageName] path:@"Users/lixiang/Desktop/CrazyTeacher/Customer/CrazyTeacherApp"];
NSData *data = [NSData dataWithContentsOfFile:path];
NSLog(@"lastPathComponent:%@,imageName:%@,size:%.1fkb,isUsed:%d",[path stringByReplacingOccurrencesOfString:@"Users/lixiang/Desktop/CrazyTeacher/Customer/CrazyTeacherApp" withString:@""],imageName,data.length/1024.0,self.isPicUsed);
return 1;
} else {
return 0;
}
}
return 0;
}
- (void)isImageUsedWithImageName:(NSString *)imageName path:(NSString *)path{
if (self.isPicUsed) {
return;
}
NSFileManager *fileManaget = [NSFileManager defaultManager];
BOOL isDir = NO;
BOOL isExist = [fileManaget fileExistsAtPath:path isDirectory:&isDir];
if (!isExist) {
}
if (isDir) {//文件夹
NSArray *arr = [fileManaget contentsOfDirectoryAtPath:path error:nil];
for (NSString *fileName in arr) {//文件(夹)
NSString *fullPath = [NSString stringWithFormat:@"%@/%@",path,fileName];
[self isImageUsedWithImageName:imageName path:fullPath];
}
}else{//文件
NSString *extension = [[path pathExtension] lowercaseString];
if ([extension isEqualToString:@"h"] || [extension isEqualToString:@"m"] || [extension isEqualToString:@"mm"] || [extension isEqualToString:@"xib"] || [extension isEqualToString:@"storyBoard"]) {
NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
if ([extension isEqualToString:@"plist"]) {
if ([content containsString:[imageName stringByReplacingOccurrencesOfString:@"\"" withString:@""]]) {
self.isPicUsed = YES;
}
} else {
if ([content containsString:imageName]) {
self.isPicUsed = YES;
}
}
}
}
}
3.调用
NSInteger lineCount = [self codeLinesWithPath:@"Users/lixiang/Desktop/CrazyTeacher/Customer/CrazyTeacherApp"];
@property (nonatomic, assign) BOOL isPicUsed;
2.方法:
- (NSInteger)codeLinesWithPath:(NSString *)path{
NSFileManager *fileManaget = [NSFileManager defaultManager];
BOOL isDir = NO;
BOOL isExist = [fileManaget fileExistsAtPath:path isDirectory:&isDir];
if (!isExist) {
return 0;
}
if (isDir) {//文件夹
NSArray *arr = [fileManaget contentsOfDirectoryAtPath:path error:nil];
int sum = 0;
for (NSString *fileName in arr) {//文件(夹)
NSString *fullPath = [NSString stringWithFormat:@"%@/%@",path,fileName];
sum += [self codeLinesWithPath:fullPath];
}
return sum;
}else{//文件
/*
NSString *extension = [[path pathExtension] lowercaseString];
if (!([extension isEqualToString:@"h"] || [extension isEqualToString:@"m"] || [extension isEqualToString:@"mm"])) {
return 0;
}
NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSArray *arr = [content componentsSeparatedByString:@"\n"];
return arr.count;
*/
NSString *extension = [[path pathExtension] lowercaseString];
if ([extension isEqualToString:@"png"] || [extension isEqualToString:@"jpg"] || [extension isEqualToString:@"gif"]) {
NSString *imageName = path.lastPathComponent;
NSArray *imgArr = [imageName componentsSeparatedByString:@"@"];
imageName = imgArr.firstObject;
imgArr = [imageName componentsSeparatedByString:@"."];
imageName = imgArr.firstObject;
self.isPicUsed = NO;
[self isImageUsedWithImageName:[NSString stringWithFormat:@"\"%@\"",imageName] path:@"Users/lixiang/Desktop/CrazyTeacher/Customer/CrazyTeacherApp"];
NSData *data = [NSData dataWithContentsOfFile:path];
NSLog(@"lastPathComponent:%@,imageName:%@,size:%.1fkb,isUsed:%d",[path stringByReplacingOccurrencesOfString:@"Users/lixiang/Desktop/CrazyTeacher/Customer/CrazyTeacherApp" withString:@""],imageName,data.length/1024.0,self.isPicUsed);
return 1;
} else {
return 0;
}
}
return 0;
}
- (void)isImageUsedWithImageName:(NSString *)imageName path:(NSString *)path{
if (self.isPicUsed) {
return;
}
NSFileManager *fileManaget = [NSFileManager defaultManager];
BOOL isDir = NO;
BOOL isExist = [fileManaget fileExistsAtPath:path isDirectory:&isDir];
if (!isExist) {
}
if (isDir) {//文件夹
NSArray *arr = [fileManaget contentsOfDirectoryAtPath:path error:nil];
for (NSString *fileName in arr) {//文件(夹)
NSString *fullPath = [NSString stringWithFormat:@"%@/%@",path,fileName];
[self isImageUsedWithImageName:imageName path:fullPath];
}
}else{//文件
NSString *extension = [[path pathExtension] lowercaseString];
if ([extension isEqualToString:@"h"] || [extension isEqualToString:@"m"] || [extension isEqualToString:@"mm"] || [extension isEqualToString:@"xib"] || [extension isEqualToString:@"storyBoard"]) {
NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
if ([extension isEqualToString:@"plist"]) {
if ([content containsString:[imageName stringByReplacingOccurrencesOfString:@"\"" withString:@""]]) {
self.isPicUsed = YES;
}
} else {
if ([content containsString:imageName]) {
self.isPicUsed = YES;
}
}
}
}
}
3.调用
NSInteger lineCount = [self codeLinesWithPath:@"Users/lixiang/Desktop/CrazyTeacher/Customer/CrazyTeacherApp"];
相关文章推荐
- 我们用django做的产品
- 阻塞IO和非阻塞IO的区别
- 高项2016-03-07
- swift中数组的一些操作
- 如何使用Hadoop的DistributedCache
- 从最大子列和问题体会算法
- Html学习笔记(3)-Html标签(2)
- Linux环境下,在不停止程序的情况下,更换动态链接库
- 无法连接到SQL数据库
- HDU2795线段树之单点更新
- android 正方形九宫格View设置
- 55-题目1104:整除问题
- 在Xcode中使用Git进行源码版本控制
- 集合类练习
- Html学习笔记(4)-Html标签(3)
- 基于动画原理的提高
- Html学习笔记(5)-Html标签(4)
- Checkbutton 和 Radiobutton
- ORA-12537: TNS:connection closed
- Checkbutton 和 Radiobutton