-2

重複の可能性: アプリケーションバンドル内のファイルへの書き込みに問題があります

次のコードを使用してファイルに文字列を書き込もうとしています。

NSString *file = [[NSBundle mainBundle] pathForResource:@"settings" ofType:@"txt"];

NSLog(@"Path : , %@", file);

NSError *error=NULL;

NSString *data=@"teleiwne";

[data writeToFile:file atomically:YES encoding:NSUTF8StringEncoding error:&error];

パスの出力は次のとおりです。/Users/kd/Library/ApplicationSupport/iPhoneSimulator/6.0/Applications/763B8245-CB1A-4​​BDE-85CF-19AEFA411DB8/testKremala.app/settings.txt

エラーは発生しませんが、ファイルには何も書き込まれません

私は次のコードを試しましたが、うまくいきました:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"set.txt"];

NSString *data=@"Kostas";

[data writeToFile:appFile atomically:YES];

NSString *myData = [NSString stringWithContentsOfFile:appFile];

NSLog(@"Data : %@ ",myData);
4

1 に答える 1

2

Appディレクトリへの書き込みは許可されていません。そのアプリフォルダ内のドキュメントディレクトリに書き込んでみてください。

NSString *data = @"testData";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"settings.txt"];
[data writeToFile:appFile atomically:YES];
于 2013-01-29T19:16:51.783 に答える