Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS: How do you find the creation date of a file?

I'm trying to find the creation date (NOT modification date) of a file.

Creation date doesn't appear to be in the attributes of a file, though modified date is.

I'm using this code..

NSFileManager* fm = [NSFileManager defaultManager];  NSString* path = [PathHelpers pathInDocumentsFolderWithFilename:FILE_NAME]; NSDictionary* attrs = [fm attributesOfItemAtPath:path error:nil];  if (attrs != nil) {     return (NSDate*)[attrs objectForKey: NSFileCreationDate]; } else {     return nil; } 

This always returns nil. Typing 'po attrs' into the debugger to get the list of key/value pairs in the NSDictionary returns the following..

NSFileGroupOwnerAccountID = 20;
NSFileGroupOwnerAccountName = staff;
NSFileModificationDate = 2010-01-21 11:47:55 +0000;
NSFileOwnerAccountID = 501;
NSFileOwnerAccountName = ben;
NSFilePosixPermissions = 420;
NSFileReferenceCount = 1;
NSFileSize = 338;
NSFileSystemFileNumber = 2234;
NSFileSystemNumber = 42553324;
NSFileType = NSFileTypeRegular;

No creation date.. bah..

Anyone know another way of getting the creation date or does it just not exist in iOS?

like image 677
Ben Clayton Avatar asked Jan 21 '10 11:01

Ben Clayton


People also ask

How do I find the actual creation date of a file?

Right-click the file and select Properties. In the Properties window, the Created date, Modified date, and Accessed date is displayed, similar to the example below.


1 Answers

This code actually returns the good creation date to me:

NSFileManager* fm = [NSFileManager defaultManager]; NSDictionary* attrs = [fm attributesOfItemAtPath:path error:nil];  if (attrs != nil) {     NSDate *date = (NSDate*)[attrs objectForKey: NSFileCreationDate];     NSLog(@"Date Created: %@", [date description]); }  else {     NSLog(@"Not found"); } 

Are you creating the file inside the App? Maybe that's where the problem is.

like image 69
Oriol Nieto Avatar answered Sep 18 '22 19:09

Oriol Nieto