Действительно ли возможно получить дату последнего обращения файла/папки в Mac с помощью какао?
struct stat output;
//int ret = stat([[[openPanel filenames] lastObject] UTF8String], &output);
int ret = stat([[[openPanel filenames] lastObject] fileSystemRepresentation], &output);
// error handling omitted for this example
struct timespec accessTime = output.st_atimespec;
NSDate *aDate = [NSDate dateWithTimeIntervalSince1970:accessTime.tv_sec];
NSLog(@"Access Time %d, %@",ret, aDate);
Согласно вышеупомянутому коду я попробовал и UTF8String и fileSystemRepresentation, но оба дают мне текущую дату и время. Сообщите мне, делаю ли я что-то не так.
Способ C, использующий системный вызов stat, будет работать в Objective-C.
например.
struct stat output;
int ret = stat(aFilePath, &output);
// error handling omitted for this example
struct timespec accessTime = output.st_atime;
Вы должны получить путь к файлу, отправив -fileSystemRepresentation в NSString, содержащий путь.
Другой способ получить желаемое - создать NSURL для URL-адреса файла, указывающего на нужный файл, и использовать -resourceValuesForKeys: error: для получения ресурса NSURLContentAccessDate . ценить.
и прочтите о: attributesOfItemAtPath: error:
С уважением, Фридрих
Используя NSMetadataQuery, вы можете получить доступ к метаданным Spotlight из вашего кода. Последний использованный атрибут даты файла отслеживается прожектором, и вы можете получить к нему доступ с помощью этого свойства: kMDItemLastUsedDate.