URL 파일 다운받기, 외부로 파일 공유하기
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];
});