Estoy tratando de establecer las fechas de creación y modificación en un archivo.Establecer NSFileCreationDate no tiene ningún efecto
NSFileManager *fileManager = [NSFileManager defaultManager];
NSDate *now = [NSDate date];
NSDictionary *timestampAttr = [NSDictionary dictionaryWithObjectsAndKeys:
now, NSFileCreationDate, now, NSFileModificationDate, nil];
BOOL ret = [fileManager setAttributes:timestampAttr ofItemAtPath:path error:&err];
La fecha de modificación se ha modificado correctamente para el archivo. La fecha de creación no ha cambiado. ¿Por qué?
ret
es cierto y err
es nil. -attributesOfItemAtPath
devuelve un diccionario que contiene ambas claves en timestampAttr
y la fecha de modificación correcta (modificada) y la fecha de creación incorrecta (no modificada).
Editar: Usando OS X versión 10.6. El SDK base del proyecto Xcode es 10.5. El archivo está en el único disco duro de mi computadora (sin RAID), en una carpeta dentro de mi carpeta de inicio. El archivo está dentro de un paquete de aplicaciones si eso hace la diferencia.
Editar: Este sencillo ejemplo funciona:
#import <Cocoa/Cocoa.h>
int main(void)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSFileManager *m = [NSFileManager defaultManager];
NSString *path = ...;
[m setAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[NSDate date],NSFileCreationDate,nil] ofItemAtPath:path error:nil];
[pool drain];
return 0;
}
me pega el código anterior en la aplicación originalmente Pregunté por, el establecimiento de atributos para el mismo archivo como el ejemplo sencillo (en el escritorio). Cuando el código está dentro de la aplicación, no funciona.
Editar: Bien, esto es una locura. El simple ejemplo anterior funcionaba (mi compañero de trabajo y yo lo vimos trabajando en mi computadora) pero ahora no funciona.
Gracias. Ver mi edición – jlstrecker