-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/Application Support/iPhone Simulator/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 目录。尝试写入该应用文件夹内的 Documents 目录。

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 回答