beg-counter.txt文件已经在我的应用程序包中....现在我想写进去...但我不能......
我可以阅读该文件,但无法写入....
这是我的代码.......
level_beg_cnt的值假设为2。
NSError *错误;
NSString * Path = [[NSBundle mainBundle] pathForResource:@" beg_counter" ofType:@" TXT"];
NSLog(@"string to write:%@",level_cnt_beg);
[level_cnt_beg writeToFile:Path atomically:YES
encoding:NSUTF8StringEncoding error:&error];
答案 0 :(得分:0)
您无法写入应用程序包,它是只读的,
您可以将文件写入文档目录。
NSError *error;
NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; // or [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString *filePath = [docPath stringByAppendingPathComponent:@"beg_counter.txt"];
[level_cnt_beg writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error];
您还可以将文件保存到temp
目录和Library
目录,有关详细信息,请阅读此文档,Where you should put your files
由于
答案 1 :(得分:0)
捆绑包是只读的。你不想乱用它有两个原因:
代码签名:签名通过捆绑包的内容进行验证;如果你弄乱了这个包,你就会破坏签名。
应用更新:通过将新应用包替换为新下载的应用包来进行更新;你所做的任何改变都会丢失。
你应该保存的东西:
文档:如果您希望它保留并备份
Library / Caches:如果你只想缓存下载的数据,比如个人资料照片;系统将自动删除,如果房间较低,除非您指定了特殊的“不删除”标记。
tmp:临时文件,在您的应用未运行时删除 有关完整说明,请参阅文件系统编程指南和QA1719。
从关注SO Answer:
开始