6

からファイルをダウンロードしようとしています

-documentPicker:didPickDocumentAtURL:

方法。を使用してファイルのデータを取得しようとしました

NSData *data = [NSData dataWithContentsOfURL:url];

しかし、ファイルがダウンロードされる前に UIDocumentPicker が -documentPicker:didPickDocumentAtURL: -method を起動するため、期待どおりには機能しませんでした。

ダウンロード時にファイルから NSData を取得するにはどうすればよいですか?

前もってありがとう、ファビアン。

4

1 に答える 1

6

ファイルは実際にダウンロードされますが、ファイル コーディネーターを使用してファイルの内容を読み取る必要があります。このようなことをする必要があります:

- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url
{
    NSFileCoordinator *coordinator = [[NSFileCoordinator alloc] initWithFilePresenter:nil];
    NSError *error = nil;
    [coordinator coordinateReadingItemAtURL:url options:0 error:&error byAccessor:^(NSURL *newURL) {
        NSData *data = [NSData dataWithContentsOfURL:newURL];
        // Do something
    }];
    if (error) {
        // Do something else
    }
}
于 2015-03-13T21:06:51.223 に答える