【发布时间】:2011-12-28 10:15:40
【问题描述】:
当我在 Xcode 调试器下运行以下代码时,它成功找到了扩展名为 .app 的包,但是当我运行它时,独立的“文件”对象为零。事实上,当我做 NSLogs 时,folderEnum 也为零。请注意,folderPath 指向的文件夹与程序可执行文件位于同一目录中。
NSFileManager *localFileManager = [[NSFileManager alloc] init];
NSDirectoryEnumerator *folderEnum = [localFileManager enumeratorAtPath:folderPath];
NSString *file;
while (file = [folderEnum nextObject]) {
if ([[file pathExtension] isEqualToString: @"app"]) {
break;
}
}
有什么想法吗?与Mac系统文件权限有关吗?
编辑
我可能应该提到 folderPath 实际上是相对路径而不是绝对路径。所以我将 folderPath 更改为相对于 [[NSBundle mainBundle] bundlePath] 路径,它现在可以工作了。但是,如果有人可以阐明为什么相对路径不起作用,那就太好了。
【问题讨论】:
标签: objective-c macos cocoa filesystems nsfilemanager