ファイル「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でこのファイルに書き込みたい
バンドルで記述できるかどうかはわかりませんが、コードのようにDocumentsディレクトリで記述できます。やってみませんか?
同じコードを使用すると、ファイルが次の場所にあります。
/ Users/[〜#〜] youruser [〜#〜] /ライブラリ/ Application Support/iPhone Simulator/[〜#〜] iosversion [〜#〜]/Applications /APPID/Documents/file.txt
これは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:質問が古いことは知っていますが、まあ、検索中に見つけたので、更新された回答を追加すると一部の人に役立つと思います!
シミュレーター内のアプリのドキュメントディレクトリは次の場所にあります。
~/Library/Application Support/iPhone Simulator/YOUR-IOS-VERSION/Applications/UNIQUE-KEY-FOR-YOUR-APP/Documents
ここにあるサンプルコードでは、Resourcesフォルダーには書き込まれませんが、シミュレーターのDocumentsフォルダーに書き込まれます。これは、実際にはデバイスに書き込む必要がある場所ですが、シミュレーターでこれを実行するだけであることをお伝えします、あなたは使うことができます
filePath = [[NSBundle mainBundle] bundlePath] stringByAppendingPathComnponent:@"Resources"]
しかししないでください配送アプリでこれを行うと失敗します。
これをターミナルに貼り付けます。
open ~/Library/Application\ Support/iPhone\ Simulator/
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
Gdbでプロセスを停止して貼り付けると、ドキュメントの場所が印刷されます。 [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]
po [[[NSFileManager defaultManager] URLsForDirectory:9 inDomains:1] lastObject]