Из приложения Mac Finder я знаю, что мой файл PicViewer.xcodeproj имеет размер файла 35 697 байт.Приведенный ниже код дает мне размер файла 160. Я знаю, что код работает, так как он правильно сообщает мне размер файла Excel.
Я использовал код из этого вопроса stackoverflow Как я могу получитьмой размер файла в Objective-C с небольшим изменением.
NSString *directoryPath = [@"~" stringByExpandingTildeInPath];
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *array = [fm contentsOfDirectoryAtPath: directoryPath error:NULL];
for (NSString *filename in array) {
NSError *attributesError = nil;
NSDictionary *attributes = [fm attributesOfItemAtPath:[directoryPath stringByAppendingPathComponent:filename]
error:&attributesError];
unsigned long long size = [attributes fileSize];
NSString *filetype = [attributes fileType];
NSLog(@"%@ %@ %llu", filename, filetype, size);
}
Он также сообщает, что тип файла - NSFileTypeDirectory, а не NSFileTypeRegular (и я подозреваю, что это приводит к неправильному сообщению о размере файла).Например:
Упражнение Record.xlsx NSFileTypeRegular 637131
PicViewer.xcodeproj NSFileTypeDirectory 160
Любая помощь будет принята с благодарностью.