Когда я запускаю следующий код в отладчике Xcode, он успешно находит пакет с расширением .app, но когда я запускаю его, отдельный объект «file» равен nil. На самом деле, когда я делал 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], и теперь он работает. Но если кто-то может пролить свет на то, почему относительный путь не работает, это здорово.