Actually, the real problem is that you're using the wrong operator to specify the mask:
NSDirectoryEnumerationSkipsPackageDescendants || NSDirectoryEnumerationSkipsHiddenFiles
does Boolean OR
, giving you 1
, which isn't a useful options mask. You need to use the single pipe:
NSDirectoryEnumerationSkipsPackageDescendants | NSDirectoryEnumerationSkipsHiddenFiles
which is bitwise OR
.
OLD ANSWER:
You need to actually request the properties that you're going to look at:
dirEnumerator = [fileManager enumeratorAtURL:item
includingPropertiesForKeys:[NSArray arrayWithObject:NSURLIsHiddenKey]
options:NSDirectoryEnumerationSkipsPackageDescendants || NSDirectoryEnumerationSkipsHiddenFiles
errorHandler:nil];
from the -[NSURL getResourceValue:forKey:error:]
doc:
Discussion
value is set to nil if the requested resource value is not defined for the URL. In this case, the method still returns YES.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…