首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSFileManager错误?

NSFileManager错误?
EN

Stack Overflow用户
提问于 2011-08-12 15:30:58
回答 4查看 761关注 0票数 0

你能在这行代码中找到一个bug吗?它返回nil!!该应用程序完全沙箱,但下载文件夹访问是启用的。

代码语言:javascript
复制
NSArray*array = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[NSHomeDirectory() stringByAppendingPathComponent:@"/Downloads/"] error:NULL];
        //array==nil: Why?

编辑问题:我不能测试它。这发生在审查机器的来宾账户上。编译后的二进制文件会不会有什么问题,或者你有没有什么技巧可以解决这个问题?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-12 15:38:27

尝试使用错误句柄读取目录,以检查发生的情况:

代码语言:javascript
复制
NSError *error = nil;
NSArray*array = [[NSFileManager defaultManager] 
                  contentsOfDirectoryAtPath:
                   [NSHomeDirectory() stringByAppendingPathComponent:@"/Downloads/"] 
                                      error:&error];
if ( !array ) 
     NSLog(@"ERROR: %@", [error description]);

这将为您提供更详细的错误描述。

要将此错误记录到文件中,请使用以下消息:

代码语言:javascript
复制
[[error description] writeToFile:@"strangeerrors.log" 
  atomically:NO encoding:NSUTF8StringEncoding error:nil];
票数 1
EN

Stack Overflow用户

发布于 2011-08-17 02:42:42

你有没有试过更换

代码语言:javascript
复制
[NSHomeDirectory() stringByAppendingPathComponent:@"/Downloads/"]

使用

代码语言:javascript
复制
[@"~/Downloads" stringByExpandingTildeInPath]
票数 1
EN

Stack Overflow用户

发布于 2011-09-21 20:54:08

在附加路径组件时,您不需要放入任何斜杠。这很简单:

代码语言:javascript
复制
[NSHomeDirectory() stringByAppendingPathComponent:@"Downloads"] ...

对我来说很好!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7036909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档