0

iPhoneアプリにファイルを書きたい。私のファイルは私のプロジェクトのフォルダにありますが、それに到達しようとすると:

NSString *myFile = [[NSBundle mainBundle] pathForResource:@"myFile" ofType:@"txt"];
NSLog(@"%@",myFile);

私は次のパスを取得します:

2012-06-13 17:36:56.398 MyFileApp [610:15203] / Users / Damian / Library / Application Support / iPhone Simulator / 5.1 / Applications / 1FFD4436-DCCA-4280-9E47-F6474BEE0183 / MyFileApp.app / myFile.txt

なんで ?

アドバイスありがとうございます

4

2 に答える 2

11

あなたが尋ねる:

なんで?

ファイルが保存される場所であるため、このパスです。

デバイスでは異なります。

とにかくそのフォルダにファイルを書き込むことはできないことに注意してください。代わりに、アプリのドキュメントフォルダに書き込む必要があります。

//Get the documents folder
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];

//Get the final path of your file.
NSString *finalPath = @"myfile.txt"];    
//And actually write that file.
[[NSFileManager defaultManager] createFileAtPath:finalPath contents:/*fileData as NSData*/ attributes:nil];
于 2012-06-13T13:56:26.113 に答える
1

すでに述べたように、実際のデバイスでメインバンドルに書き込むことはできません。

あなたの他の質問に:

シミュレーターでアプリを実行すると、xcodeはプロジェクトをライブラリディレクトリ内のフォルダーにコピーします。

/ Users / Damian / Library / Application Support / iPhone Simulator / 5.1 / Applications /

シミュレーターで実行するすべてのアプリには、フォルダーがあります。アプリは、実際にコードを編集するフォルダーでは実行されません。

于 2012-06-13T14:11:15.090 に答える