Я пытаюсь сделать то же самое. В руководстве iCloud попробуйте NSURLUbiquitousItemIsUploadedKey вместо NSMetadataUbiquitousItemIsUploadedKey. Дайте мне знать, если это сработает для вас. Я до сих пор не смог добиться этого. Вот раздел из руководства:
Определение передачи статуса файла или каталога
Items вы пишете в директории контейнера ICloud автоматически передаются на сервер ICloud как можно быстрее. Однако, в зависимости от сети и типа устройства, файл не может быть загружен на сервер или сразу загружен на устройство. В случаях, когда вам нужно знать состояние файла, вы можете использовать метод getResourceValue:forKey:error:
NSURL
для извлечения значения для одного из следующих атрибутов:
NSURLIsUbiquitousItemKey
-Интерит, хранится ли элемент в iCloud.
NSURLUbiquitousItemIsDownloadedKey
-Исследует, загружена и доступна текущая версия продукта.
NSURLUbiquitousItemIsDownloadingKey
-Игнорирует текущую версию текущей версии продукта и пока недоступен.
NSURLUbiquitousItemPercentDownloadedKey
-Для загрузки предмета указывается, какой процент изменений уже был загружен. Вы можете использовать это значение для обновления индикаторов выполнения.
NSURLUbiquitousItemIsUploadedKey
-Игнорирует, что локально внесенные изменения были успешно загружены на сервер iCloud.
NSURLUbiquitousItemIsUploadingKey
-Игнорирует, что локально внесенные изменения загружаются на сервер iCloud.
NSURLUbiquitousItemPercentUploadedKey
- Для загружаемого объекта указывает, какой процент изменений уже был загружен на сервер.
Несмотря на то, что iCloud-сервер агрессивно переносит изменения, которые делает ваше приложение локально, устройства iOS обычно не вытягивают изменения с сервера, пока вы не попытаетесь получить доступ к файлу. Если вы попытаетесь открыть файл, который в настоящее время загружается, iOS блокирует поток, выдавший открытый запрос, до тех пор, пока файл не будет загружен и не будет доступен для использования. Таким образом, если вы обеспокоены потенциальными задержками, проверьте текущее состояние файла по мере необходимости и, возможно, обновите свой пользовательский интерфейс, чтобы убедиться, что файл еще не доступен или в настоящее время загружается.
Для получения дополнительных сведений об атрибутах, которые вы можете запросить для URL-адресов, см. Ссылка на NSURL-класс.
Я думаю, либо не много людей используют API, ICloud или никто не нашел этот вопрос до :( –
Удалось ли вам отслеживать прогресс файла, закачанный в ICloud похож на WhatsApp Does.? –