Pregunta

Encontré algunas cosas sobre este tema, pero hasta ahora nada ha funcionado.

Estoy intentando escribir al final de un archivo usando el siguiente código:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Filename" ofType:@"txt"];
NSString *textToWrite = @"Test";
NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
[fileHandle seekToEndOfFile];
[fileHandle writeData:[textToWrite dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandle closeFile];

Cuando paso por el código, filePath se configura en "/var/mobile/Applications/1669D96A-1ABA-4A4F-D083-A90EB728691B/MyApp.app/Filename.txt".

Sin embargo, NSFileHandle fileHandleForWritingAtPath devuelve cero.El código no genera una excepción/advertencia y continúa como si estuviera bien.Cuando leo el archivo en una cadena, el nuevo texto no está allí, solo lo que está inicialmente en el archivo (escrito en Xcode).Utilizo exactamente el mismo código para obtener la ruta para leer el archivo, ¡y eso funciona!

¿Fue útil?

Solución

El paquete de aplicaciones es de solo lectura.No puede escribir en ninguna ruta del paquete.Por eso obtienes un nil identificador de archivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top