.xcodeproj 文件的 NSFileManager 文件大小不正确

NSFileManager filesize Incorrect for .xcodeproj File

从 Mac Finder 应用程序我知道我的文件 PicViewer.xcodeproj 的文件大小为 35,697 字节。下面的代码给出了 160 的文件大小。我知道代码可以正常工作,因为它正确地告诉了我 Excel 文件的文件大小。

我使用了这个 Whosebug 问题 How can i get my file size in 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

如有任何帮助,我们将不胜感激。

xcodeproj 确实是一个目录,您可以使用 Show package content (或其他,我不使用英文 MacOS)菜单命令在 Finder 中扩展其内容,因此您想要计算其大小,你应该递归地做,例如 that