1

プログラムのNSFileManagerで使用している現在のディレクトリを表示するNSLog呼び出しがあります。

XCODEでアプリケーションを実行すると、「現在のディレクトリ」は次のように表示されます。

/Users/gsteiner/Desktop/Program Code/Band Manager/build/Debug

これは、コンパイルされたアプリケーションの場所であるため、予想されます。ただし、ファインダーに移動して、上記のパスにあるコンパイル済みアプリケーションをダブルクリックすると、現在のディレクトリに次のように表示されます。

/

または、ルートディレクトリ。

「現在のディレクトリ」はアプリケーションが含まれているディレクトリだと思っていたのですが、そうではないようです。

誰かが私にこれがなぜであるかを教えてもらえますか?それはある種のエラーなのか、それともアプリケーションの起動時に想定される方法なのか。もしそうなら、コンパイルされたアプリケーションが配置されているディレクトリを見つけるための最良の方法は何でしょうか?

ありがとう!

4

1 に答える 1

3

iOSのセキュリティメカニズムとアプリケーションサンドボックスの1つは、各アプリケーションの作業ディレクトリをルートとして設定することです。このように、アプリケーションは別のアプリケーションのディレクトリ/リソースにアクセスできません(そして確かにシステムツールにアクセスできません)。

このドキュメントの詳細については、このドキュメントを参照してください。

于 2012-05-07T17:19:21.880 に答える