NSFileManager Ошибка? - PullRequest
       31

NSFileManager Ошибка?

0 голосов
/ 12 августа 2011

Можете ли вы найти ошибку в этой строке кода?Возвращается ноль !!Приложение полностью изолированно от песочницы, но доступ к папке загрузок включен.

NSArray*array = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[NSHomeDirectory() stringByAppendingPathComponent:@"/Downloads/"] error:NULL];
        //array==nil: Why?

[ПРАВИТЬ] Проблема: я не могу проверить это.Это происходит на гостевой учетной записи обзора машин.Может быть что-то не так с исполняемым двоичным файлом или у вас есть какие-либо советы, как решить эту проблему?

Ответы [ 4 ]

1 голос
/ 21 сентября 2011

Вам не нужно вставлять косую черту при добавлении компонентов пути. Это просто:

[NSHomeDirectory() stringByAppendingPathComponent:@"Downloads"] ...

У меня отлично работает!

1 голос
/ 16 августа 2011

Вы пытались заменить

[NSHomeDirectory() stringByAppendingPathComponent:@"/Downloads/"]

на

[@"~/Downloads" stringByExpandingTildeInPath]

?

1 голос
/ 12 августа 2011

Попробуйте прочитать каталог с дескриптором ошибки, чтобы проверить, что происходит:

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

Это даст вам более подробное описание того, что пошло не так.file quick'n'dirty использовать следующее сообщение:

[[error description] writeToFile:@"strangeerrors.log" 
  atomically:NO encoding:NSUTF8StringEncoding error:nil];
0 голосов
/ 17 августа 2011

Почти наверняка проблема не в этом, но, возможно, имеет смысл добавлять @"Downloads/" в качестве компонента пути, а не с косой чертой.В глазах Какао, запрос компонентов @"/Downloads/" даст вам:

@"/"
@"Downloads"

, что, вероятно, не то, что вы хотели.

...