0

このコードを使用して、iPhone アプリから MacOS FS にファイルを作成しようとしています

 [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) ];
  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,   NSUserDomainMask, YES);
   NSString *path = [paths objectAtIndex:0];
   path = [path stringByAppendingPathComponent: @"log.txt"];
   NSFileHandle *output = [NSFileHandle fileHandleForWritingAtPath:path];
  if(output == nil) {
    [[NSFileManager defaultManager] createFileAtPath:path contents:nil attributes:nil];
    output = [NSFileHandle fileHandleForWritingAtPath:path];
   } else {
    [output seekToEndOfFile];
  }

シミュレータで実行すると機能するので、コードは問題ないと思います。ただし、iPhoneから実行すると、ファイルがどこに作成されるかは実際にはわかりません。取得したパスを印刷すると

/var/mobile/Applications/XXX-XXXX-XXX-XXX/Documents/log.txt

4

1 に答える 1

2

シミュレーターでは、/Users/loginname/Library/Application Support/iPhone Simulator/5.1/Applications/594931F3-B9EF-4B2C-833D-76C2DCC61C6B/Documents の下にあります。Finder からこの場所に移動するには、[移動] メニュー項目を選択し、Option キーを押しながら [ライブラリ] を選択します。

注: 上記のパスに自分のログイン名とデバイス ID を入力してください。

デバイスを使用している場合は、XCode を使用して、オーガナイザー (ウィンドウ | オーガナイザーを選択) を使用してファイルを Mac にコピーできます。アプリをハイライト表示すると (もちろん実行後)、ファイルをコピーするオプションがあります。デバイス ファイル システムに直接アクセスすることはできません。

XCode の出力ウィンドウにデバッグ情報を送信するだけの NSLog() を使用することもできます。

編集: ライブラリ フォルダーを表示する方法の詳細を追加しました。

于 2012-09-07T18:26:56.630 に答える