Tengo un problema con el uso de las funcionalidades de NSFileManager. Esto ocurre tanto en el simulador como en un dispositivo de iPhone (iOS 5.1).NSFileManager no elimina un archivo que existe
Básicamente, tengo un montón de archivos que se almacenan en un documento que he creado. Ahora estoy tratando de mover un archivo (almacenado en la ruta) al mismo directorio con otro nombre, para verificar si la eliminación funciona.
if ([[NSFileManager defaultManager] isDeletableFileAtPath:path]) {
BOOL success = [[NSFileManager defaultManager] moveItemAtPath:path toPath:[path stringByAppendingString:@".deleted"] error:&error];
if (!success) {
NSLog(@"Error removing file at path: %@", error.localizedDescription);
}
}
La salida de este es a la vez archivos en ruta y ruta .deleted. En última instancia, solo quiero eliminar el archivo usando removeItemAtPath pero eso no está funcionando. Devuelve un éxito, pero si lo veo en el directorio de archivos, aún puedo verlo allí incluso después de una hora.
He intentado esto también, pero tampoco funciona. El problema es que si utilizo moveItemAtPath o deleteItemAtPath, el archivo en la ruta no se elimina. – Devang
Encontré el problema en mi código. Era solo que había iniciado un NSTimer en algún lugar que seguiría guardando el archivo cada pocos segundos, por lo que incluso después de eliminar, el archivo se volvió a escribir dando la impresión de que no se borraba. Estoy aceptando esta respuesta ya que técnicamente es correcta. – Devang
Recomiendo agregar FileExistsAtPath con su lógica también.He notado que a veces isDeletableFileAtPath sigue siendo cierto por un tiempo después de que el archivo ha sido eliminado/eliminado, pero fileExistsAtPath siempre es correcto. – user3344977