我创建了一个应用程序,它使用“writeToURL”在附加到资源的txt文件上写入文本。当我在模拟器上加载应用程序时,它会写入您输入的文本,但是当您在设备上启动应用程序时,它不会写入任何内容。如果你在txt文件上写了一些内容,设备上加载的应用程序会显示它,但它无法覆盖它,因为模拟器会... 什么可能是错的? 谢谢! 代码(iOS Objective C):
-(IBAction)cargarALaWeb:(id)sender{
if ([_texto.text isEqualToString:[NSString stringWithFormat:@""]]) {
[_web1 loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://contactonotpad.wix.com/inicio#!ayuda-con-cargar-en-la-web/ak5ig"]]];
}
else{
NSString *textofile=_texto.text;
[textofile writeToURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"web" ofType:@"html"]] atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSLog(@"Escrito");
[_web1 loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"web" ofType:@"html"]]]];
}
}
`
答案 0 :(得分:1)
您要在应用程序包中编辑的任何文件都需要先复制到应用程序文档目录中,然后您应该从那里编辑和使用该文档。您不应该/不能编辑应用包内容。
答案 1 :(得分:0)
How to copy a file to the documents directory
Apples docs on the file system
简短的回答。出于安全原因,应用无法写入捆绑中的文件。每个应用程序都有一个" Sandbox"在哪些文件可以编辑。您必须编写代码以将文件从捆绑包复制到可以编辑文件的文档目录。