从 iCloud Drive iOS 目标 C 下载图像

Posted

技术标签:

【中文标题】从 iCloud Drive iOS 目标 C 下载图像【英文标题】:Download image from iCloud Drive iOS objective C 【发布时间】:2017-03-15 11:56:42 【问题描述】:

我浏览了许多链接,但没有任何对我有用。我需要做的就是获取所有 iCloud Drive 文件并下载图像。我使用以下代码成功获取所有文件

 - (void)presentDocumentPicker 
    NSArray *documentTypes = @[@"public.content", @"public.text", @"public.source-code ", @"public.image", @"public.audiovisual-content", @"com.adobe.pdf", @"com.apple.keynote.key", @"com.microsoft.word.doc", @"com.microsoft.excel.xls", @"com.microsoft.powerpoint.ppt"];


    UIDocumentPickerViewController *documentPickerViewController = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:documentTypes inMode:UIDocumentPickerModeOpen];
    documentPickerViewController.delegate = self;
    [self presentViewController:documentPickerViewController animated:YES completion:nil];



#pragma mark - UIDocumentPickerDelegate

- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url 
    self.documentURL = url;

    QLPreviewController *previewController = [[QLPreviewController alloc] init];
    previewController.delegate = self;
    previewController.dataSource = self;

    [self.navigationController pushViewController:previewController animated:YES];

现在我不知道如何继续下载图像。

【问题讨论】:

下载图片有什么问题? 我需要从第一步开始的指导,因为我不知道如何开始。 【参考方案1】:

我可以使用这个下载图片

    #pragma mark - UIDocumentPickerDelegate
- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url 
    self.documentURL = url;


    NSNumber *isDownloadedValue = NULL;

    BOOL success = [url getResourceValue:&isDownloadedValue forKey: NSURLUbiquitousItemIsDownloadingKey error:NULL];

    if (success && ![isDownloadedValue boolValue]) 
        [[NSFileManager defaultManager]startDownloadingUbiquitousItemAtURL:url error:nil];

        // load image from Ubiquity Documents directory
        NSData *imageData = [NSData dataWithContentsOfURL:url];
           UIImage *     image = [UIImage imageWithData:imageData];
    

    QLPreviewController *previewController = [[QLPreviewController alloc] init];
    previewController.delegate = self;
    previewController.dataSource = self;

    [self.navigationController pushViewController:previewController animated:YES];

【讨论】:

以上是关于从 iCloud Drive iOS 目标 C 下载图像的主要内容,如果未能解决你的问题,请参考以下文章

是否需要为 iCloud Drive 更新 iOS 7 iCloud 应用程序?

iOS 的 8 iCloud Drive 是不是允许不同的用户共享文件?

为 iOS 应用程序的文件启用 iCloud Drive 文件夹

在 iOS 8 中将应用程序的无处不在的容器暴露给 iCloud Drive

有啥方法可以检查 iCloud Drive 是不是打开?

如何从 UIActivity 控制器中删除“添加到 iCloud Drive”?