gpt4 book ai didi

objective-c - NSFileManager 仅当在调试器下运行时才查找文件夹内的文件

转载 作者:行者123 更新时间:2023-12-03 18:00:04 24 4
gpt4 key购买 nike

当我在 Xcode 调试器下运行以下代码时,它成功找到带有 .app 扩展名的包,但是当我运行它时,独立的"file"对象为零。事实上,当我执行 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]路径,现在它可以工作了。但如果有人能解释为什么相对路径不起作用那就太好了。

最佳答案

是否将第一行更改为:

NSFileManager *localFileManager = [NSFileManager defaultManager];

有什么区别吗?您只是想获取应用程序的路径吗? (还有更简单的方法)

关于objective-c - NSFileManager 仅当在调试器下运行时才查找文件夹内的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8118222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com