Чтение атрибута com.apple.progress.fractionCompleted файла - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь прочитать значение ключа com.apple.progress.fractionCompleted для файла, который активно загружается. Это вроде работает, но возвращаемое значение меняется не очень часто. Если я смотрю файл в Finder, круг прогресса загрузки Finder показывает почти непрерывное плавное движение.

Finder отлично отслеживает всю загрузку, и если загрузка файла завершена на 50%, круг выполнения Finder наполовину полон. Однако чтение значения ключа com.apple.progress.fractionCompleted возвращает какое-то другое значение, например 27% или 36% и т. Д. Кажется, что оно просто застряло и не обновляет значение ключа.

Однако, используя приведенный ниже код, я получаю возвращаемые значения, такие как 10, затем 34, затем 67, затем 92, затем загрузка завершена.

Я опрашиваю это значение, используя NSTimer, который срабатывает каждую секунду. Ожидается ли это - не видя приращения значения FractionCompleted в меньших количествах?

NSDictionary *fileAttr = [[NSFileManager defaultManager] attributesOfItemAtPath:[self.fileSizeTimer userInfo] error:nil];
NSDictionary *extendAttr = [fileAttr objectForKey:@"NSFileExtendedAttributes"];           

NSString* downloadProgress = [[NSString alloc] initWithData:[extendAttr objectForKey:@"com.apple.progress.fractionCompleted"] encoding:NSASCIIStringEncoding];
float progressFloat = [downloadProgress floatValue] * 100;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...