En un punto de mi código fileExistsAtPath: devuelve NO para los archivos que he confirmado que existen. Me he estado rascando la cabeza por esto y no puedo entender por qué no está funcionando, así que lo cambié a este código ya que este directorio existe absolutamente, pero si no se crea de todos modos.fileExistsAtPath: devuelve NO para los archivos que existen
NSError* err = nil;
NSURL *dir = [[NSFileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory
inDomain:NSUserDomainMask
appropriateForURL:nil
create: YES
error:&err];
BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:[dir absoluteString]];
Después de ejecutar este código existe la carpeta del directorio de la aplicación y err es 0, pero existe es NO.
¿Cómo puede ser esto?
TIA
Tampoco está comprobando si el método URLForDirectory ... devuelve nil. – bneely
Además, la documentación no indica si la acción de creación es síncrona o asincrónica, pero intente mantener un retraso de unos segundos antes de su archivoExistsAtPath: llame y vea si el resultado cambia. – bneely
Err es nulo como mencioné. También dir se está completando correctamente con la ruta del directorio (si lo hago en la consola o NSLog it, sus contenidos están configurados correctamente). El directorio ya existe de todos modos antes de llamar a este código: si ejecuto la aplicación dos veces, por ejemplo, sigo teniendo que el BOOL existente se establece en 0. – Gruntcakes