본문 바로가기
iOS

URL 파일 다운받기, 외부로 파일 공유하기

by _dreamgirl 2022. 3. 24.
반응형

1. 외부 URL에서 파일 다운로드 하기


NSURLSessionConfiguration *config= [NSURLSessionConfiguration defaultSessionConfiguration];

NSURLSession *session= [NSURLSession sessionWithConfiguration: config delegate: self delegateQueue: [NSOperationQueue mainQueue]];

NSURL *url = [NSURL URLWithString: @"url"];
NSURLSessionDataTask *dataTask = [session dataTaskWithURL: url];

[dataTask resume];

2. UIDocumentInteractionController로 파일 공유하기


이를 위해서는 UIDocumentInteractionController delegate must implement docmentInteractionControllerViewControllerForPreview : to allow preview 이렇게 나오는데
해당 ViewController에서 UIDocumentInteractionControllerDelegate와 아래 함수를 구현한다.

- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller;

- (void)documentInteractionControllerDidEndPreview:(UIDocumentInteractionController *)controller;

호출부


dispatch_async(dispatch_get_main_queue(), ^{
        UIDocumentInteractionController *doc = [UIDocumentInteractionController interactionControllerWithURL:fileURL];
        doc.delegate = self;
        [doc presentOptionsMenuFromRect:CGRectZero inView:self.view animated:YES];
});

3. UIActivityViewController 로 파일 공유하기 

dispatch_async(dispatch_get_main_queue(), ^{
  NSMutableArray *items = [NSMutableArray array];
    if (filePath) {

        [items addObject:[NSURL fileURLWithPath:filePath]];
    }
    UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:items      applicationActivities:nil];

    [activityViewController setValue:@"파일명" forKey:@"subject"];

    [self presentViewController:activityViewController animated:YES completion:nil];
});

반응형

'iOS' 카테고리의 다른 글

XCode 버전기록  (0) 2022.09.27
XCode 빌드 셋팅  (0) 2022.02.24
IOS 15 대응  (0) 2022.02.16
위치 및 얼굴 인식 권한 누락  (0) 2022.02.10
★ iOS 개발할 때 유용한 정보 모음 ★  (0) 2021.07.20

댓글