我正在为越狱的iPhone开发一款应用程序。我想要获取一个文件夹中的所有目录,所以我正在尝试这样做:
NSArray *contentOfFolder = [[NSFileManager defaultManager] directoryContentsAtPath:path];
NSLog(@"contentOfFolder: %@", contentOfFolder);
directoriesOfFolder = [[NSMutableArray alloc] initWithCapacity:100];
for (NSString *aPath in contentOfFolder) {
NSLog(@"apath: %@", aPath);
BOOL isDir;
if ([[NSFileManager defaultManager] fileExistsAtPath:aPath isDirectory:&isDir] &&isDir)
{
[directoriesOfFolder addObject:aPath];
NSLog(@"directoriesOfFolder %@", directoriesOfFolder);
}
}
NSLog(@"dirctories %@", directoriesOfFolder);
但是看看我得到的结果。当我获取文件夹的内容时,一切看起来都很好:
2009-07-28 23:23:35.930 Drowser[573:207] 新路径 / private / var 2009-07-28 23:23:35.945 Drowser[573:207] 文件夹内容:( 钥匙串, “管理首选项” 移动设备, 备份, 缓存, 数据库, 电子艺术, 空, 文件夹, 图书馆, 本地, 锁定, 日志, 日志, 手机, 消息, 偏好设置, 根, 运行, 印花, 储藏, 温度, vm )
但随后:
2009-07-28 23:23:35.950 Drowser[573:207] 路径:Keychains 2009-07-28 23:23:35.954 Drowser[573:207] 路径:Managed Preferences 2009-07-28 23:23:35.959 Drowser[573:207] 路径:MobileDevice 2009-07-28 23:23:35.984 Drowser[573:207] 路径:backups 2009-07-28 23:23:35.993 Drowser[573:207] 路径:cache 2009-07-28 23:23:36.002 Drowser[573:207] 路径:db 2009-07-28 23:23:36.011 Drowser[573:207] 路径:ea 2009-07-28 23:23:36.019 Drowser[573:207] 路径:empty 2009-07-28 23:23:36.028 Drowser[573:207] 路径:folders 2009-07-28 23:23:36.037 Drowser[573:207] 路径:lib 2009-07-28 23:23:36.046 Drowser[573:207] 文件夹列表 ( 图书馆 )
只有"lib"被识别为文件夹。这怎么可能?其他的也是文件夹。我通过SSH确认了这一点。
有人有什么想法吗?我做错了什么吗?