Как правильно отследить загрузку iCloud?
Я пытаюсь интегрировать использование iCloud в мое приложение. Я понял, как работает этот процесс и его основы. Я уже мог загружать контент в iCloud, но мне нужно отслеживать ход загрузки, чтобы улучшить Ux, который я предоставляю конечному пользователю.
Итак, в основном я загружаю документ, используя метод ниже:
- (void)saveToURL:(NSURL *)url forSaveOperation:(UIDocumentSaveOperation)saveOperation completionHandler:(void (^ __nullable)(BOOL success))completionHandler __TVOS_PROHIBITED;
Прежде чем вызвать этот метод, я также инициализирую MetadataQuery. Этот запрос специфичен, и предполагается, что он получает ход документа, передавая имя документа и его URL в качестве параметров. Что-то вроде этого:
- (void)startMonitoringMetadataQueryWithBackupName:(NSString *)backupName andBackupURL:(NSURL *)backupURL;
Реализация метода:
После этого я получаю только события, вызванные NSMetadataQueryDidStartGatheringNotification
и даже в этом случае полученная информация не приносит никакой полезной ценности.
Я ожидал получить события от NSMetadataQueryDidUpdateNotification
, принося MetadataQuery с результатами, чтобы получить NSURLUbiquitousItemPercentUploadedKey
значение. Однако я не получаю никаких уведомлений такого типа и не могу отслеживать ход загрузки.
Я что-то пропустил? У меня нет идей, потому что это кажется таким простым и работает не так, как ожидалось.
(Примечание: мне также нужно реализовать аналогичное поведение при загрузке документа, и я думаю, что подход будет таким же, просто изменив запрос valueListAttributes
, Боюсь, эта проблема сохранится, когда я ее реализую)
Спасибо