Почему currentDirectoryPath возвращает разные результаты под IDE и без него? - PullRequest
1 голос
/ 15 мая 2011

У меня странная проблема с использованием приведенного ниже кода

NSString * pth = [[[NSFileManager defaultManager] currentDirectoryPath] copy];

Если этот код работает под IDE, он работает нормально, и у меня pth вот так

/ Users / пользователя / Desktop / iShutdown / сборки / выпуска

Но если я запускаю этот код без IDE, просто запускаю мое автономное приложение я вижу в журнале, что pth содержит только "/"

Почему? как получить такой же результат в автономном режиме?

1 Ответ

0 голосов
/ 15 мая 2011

Исходный рабочий каталог будет зависеть от того, как запускается приложение, и вы никогда не должны делать никаких предположений о том, что это будет.Для запусков Finder это обычно будет / как вы видели, в то время как для запусков Xcode это обычно будет тот же каталог, что и исполняемый файл (хотя вы можете изменить это в настройках для исполняемого файла).Существуют и другие способы запуска приложения, например, из командной строки, поэтому начальный рабочий каталог может быть почти любым, что хочет пользователь.

Если вы просто хотите найти какой-то определенный файл, которыйнаходится в определенном месте относительно вашего приложения, например, в файле данных, который необходим вашему приложению, тогда вам нужно просто получить путь к вашему комплекту приложений и использовать его, а не рабочий каталог.

...