Sto riscontrando qualche problema con l'utilizzo delle funzionalità di NSFileManager. Ciò accade sia sul simulatore che su un dispositivo iPhone (iOS 5.1).NSFileManager non sta eliminando un file esistente
Fondamentalmente, ho un sacco di file che sono memorizzati in un documento che ho creato. Ora sto cercando di spostare un file (memorizzato nel percorso) nella stessa directory con un altro nome, per verificare se la cancellazione funziona.
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);
}
}
L'uscita di questo è in entrambi i file percorso e percorso .deleted. Alla fine voglio solo rimuovere il file usando removeItemAtPath ma non funziona. Ritorna un successo ma se lo vedo nella directory dei file posso ancora vederlo lì anche dopo un'ora.
Ho provato anche questo ma non funziona neanche. Il problema è che sia che utilizzi moveItemAtPath o deleteItemAtPath, il file sul percorso non venga cancellato. – Devang
Ho trovato il problema nel mio codice. Era solo che avevo avviato un NSTimer da qualche parte che avrebbe continuato a salvare il file ogni pochi secondi, quindi anche dopo l'eliminazione, il file è stato nuovamente scritto dando l'impressione che non venga eliminato. Sto accettando questa risposta poiché tecnicamente è corretto. – Devang
Mi consiglia di aggiungere in fileExistsAtPath anche la logica.Ho notato che isDeletableFileAtPath restituisce ancora true per un po 'dopo che il file è stato cancellato/rimosso, ma fileExistsAtPath è sempre corretto. – user3344977