You can recursively go over all folders and get the size.
Like this:
+(NSUInteger)getDirectoryFileSize:(NSURL *)directoryUrl
{
NSUInteger result = 0;
NSArray *properties = [NSArray arrayWithObjects: NSURLLocalizedNameKey,
NSURLCreationDateKey, NSURLLocalizedTypeDescriptionKey, nil];
NSArray *array = [[NSFileManager defaultManager]
contentsOfDirectoryAtURL:directoryUrl
includingPropertiesForKeys:properties
options:(NSDirectoryEnumerationSkipsHiddenFiles)
error:nil];
for (NSURL *fileSystemItem in array) {
BOOL directory = NO;
[[NSFileManager defaultManager] fileExistsAtPath:[fileSystemItem path] isDirectory:&directory];
if (!directory) {
result += [[[[NSFileManager defaultManager] attributesOfItemAtPath:[fileSystemItem path] error:nil] objectForKey:NSFileSize] unsignedIntegerValue];
}
else {
result += [CacheManager getDirectoryFileSize:fileSystemItem];
}
}
return result;
}