2

我正在尝试在我的应用程序中集成 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. 我担心这个问题在我实现时会持续存在)

谢谢

4

0 回答 0