web-dev-qa-db-ja.com

Xcode:シミュレーターIphoneのディレクトリー・ファイル

ファイル「file.txt」に文字列を書きたい:プロジェクトのこのファイル(Iphone用)はリソース内にあります。このファイルに文字列を書き込もうとしましたが、うまくいきません。コードを表示します。

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath =  [documentsDirectory stringByAppendingPathComponent:@"file.txt"];
NSError *error;
[outputString writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error];

デバイスではなくシミュレーターxcodeでこのファイルに書き込みたい

24
CrazyDev

バンドルで記述できるかどうかはわかりませんが、コードのようにDocumentsディレクトリで記述できます。やってみませんか?

同じコードを使用すると、ファイルが次の場所にあります。

/ Users/[〜#〜] youruser [〜#〜] /ライブラリ/ Application Support/iPhone Simulator/[〜#〜] iosversion [〜#〜]/Applications /APPID/Documents/file.txt

49
Jorge

これはXCode 6とiOS 6で変更され、トリッキーになりました。

ドキュメントディレクトリは次の場所に隠れています。

~/Library/Developer/CoreSimulator/Devices/<some-id>/data/Containers/Data/Application/<some-other-id>

場所はアプリケーションの起動ごとに変化しているようなので、追跡するのは非常に困難です。 この記事 から借りた簡単なヒントがあり、それを怠惰なものに含めます:

#if TARGET_IPHONE_SIMULATOR
// where are you?
NSLog(@"Documents Directory: %@", [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);
#endif

これを例えばapplicationDidFinishLaunchingメソッドに追加すると、簡単になります!

詳細が必要な場合は、 元の記事 をご覧ください。

NB:質問が古いことは知っていますが、まあ、検索中に見つけたので、更新された回答を追加すると一部の人に役立つと思います!

19
rchampourlier

シミュレーター内のアプリのドキュメントディレクトリは次の場所にあります。

~/Library/Application Support/iPhone Simulator/YOUR-IOS-VERSION/Applications/UNIQUE-KEY-FOR-YOUR-APP/Documents
15

アプリの任意の場所にあるブレークポイントで停止し、デバッガーで「po NSHomeDirectory()」と入力します。 Finderの[移動]> [フォルダへ移動]機能を使用して、直接そこにジャンプします。 how the "po NSHomeDirectory()" command in debugger shows path to current app's home directory

8
Vitalii

ここにあるサンプルコードでは、Resourcesフォルダーには書き込まれませんが、シミュレーターのDocumentsフォルダーに書き込まれます。これは、実際にはデバイスに書き込む必要がある場所ですが、シミュレーターでこれを実行するだけであることをお伝えします、あなたは使うことができます

filePath = [[NSBundle mainBundle] bundlePath] stringByAppendingPathComnponent:@"Resources"]

しかししないでください配送アプリでこれを行うと失敗します。

2
Scott Little

これをターミナルに貼り付けます。

open ~/Library/Application\ Support/iPhone\ Simulator/
1
Robert

Xcode 7以降を使用している場合は、次の手順に従ってください。

ドキュメントディレクトリ:

file:///Users/codercat/Library/Developer/CoreSimulator/Devices/YourProjectDict/data/Containers/Data/Application/(sample digit)7F53CFB3-C534-443F-B595-62619BA808F2/Documents/your file located here
0
codercat

Gdbでプロセスを停止して貼り付けると、ドキュメントの場所が印刷されます。 [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]

 po [[[NSFileManager defaultManager] URLsForDirectory:9 inDomains:1] lastObject]
0
Jong Su Park