有时,常常编辑资源,最后可能会导致有些包含的文件没有用到,却占用了程序的大小,因此需要进行处理下:
-(NSArray *)findNotInAnwersImage
{
NSMutableArray *invalidImage = [NSMutableArray array];
NSFileManager *myFileManage = [NSFileManager defaultManager];
NSString *path = [[NSBundle mainBundle] bundlePath];
NSLog(@"%@",path);
//获得该路径下的所有文件名
NSArray *allImages = [myFileManage contentsOfDirectoryAtPath:path error:nil];
NSString *file = nil;
for (file in allImages) {
//去掉文件后缀名
file = [file stringByDeletingPathExtension];
//处理包括_complete的文件
NSArray *arry = [file componentsSeparatedByString:@"_"];
if ([[arry lastObject] isEqualToString:@"complete"]) {
NSRange range = [file rangeOfString:@"_complete"];
NSString *fileName = [file substringToIndex:range.location];
if ([self isFit:fileName]) {
[invalidImage addObject:fileName];
}else
{
//删除这些文件
NSString *imageRootPath = @"/Users/kaciya/Desktop/项目/Guess Brand/4Portion1Word/image/brand";
NSString *imagePath = [imageRootPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_complete.png",fileName]];
NSFileManager *defaultManager = [NSFileManager defaultManager];
[defaultManager removeItemAtPath:imagePath error:nil];
NSLog(@"删除文件%@",imagePath);
}
}
}
return invalidImage;
}
//判断是否符合选择标准,单个单词长度小于等于9,不能超过2个单词,总长度不得大于14
-(BOOL)isFit:(NSString *)imageName
{
NSArray *imageArry = [imageName componentsSeparatedByString:@"_"];
if ([imageArry count]>2) {
return NO;
}
for (NSString *image in imageArry) {
if ([image length]>9) {
return NO;
}
}
NSString *imageNoSep = [imageName stringByReplacingOccurrencesOfString:@"_" withString:@""];
if ([imageNoSep length]>14) {
return NO;
}
return YES;
}