1

以下のコードを使用すると奇妙な問題が発生します

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

そのコードがIDEで実行されている場合、それは正常に機能し、私はそのようなpthを持っています

/ Users / user / Desktop / iShutdown / build / Release

しかし、IDEを使用せずにそのコードを実行すると、スタンドアロンアプリを起動するだけで、ログにpthに「/」のみが含まれていることがわかります。

なんで?スタンドアロンモードで同じ結果を得る方法は?

4

1 に答える 1

0

最初の作業ディレクトリは、アプリケーションの起動方法によって異なります。これがどうなるかについては、決して仮定しないでください。Finder の起動の場合は、ご覧のように通常は / ですが、Xcode の起動の場合は通常、実行可能ファイルと同じディレクトリになります (ただし、実行可能ファイルの設定でこれを変更できます)。ただし、コマンド ラインなどからアプリを起動するには、他にもさまざまな方法があるため、最初の作業ディレクトリは、ユーザーが望むものであれば何でもかまいません。

アプリに関連する特定の場所にある特定のファイル (アプリに必要なデータ ファイルなど) を見つけたいだけの場合は、作業ディレクトリではなく、アプリケーション バンドルへのパスを取得してそれを使用する必要があります。

于 2011-05-15T09:23:23.970 に答える