2017-03-15 39 views
0

我已经经历了很多链接,但没有为我工作。我需要做的是获取所有iCloud Drive文件并下载图像。我成功地使用下面的代码获取所有文件从iCloud Drive下载图片iOS目标C

- (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]; 
} 

现在我不知道如何进一步下载图像。

+0

是什么问题,而下载图像下载图像? –

+0

我需要第一步的指导,因为我不知道如何开始。 –

回答

0

我能够使用这种

#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]; 
}