2016-11-14 2 views
0

インターネットからPDFファイルをダウンロードして、アプリケーションの外で後で表示する方法はありますか?PDFファイルをローカルに保存し、アプリケーションの外で見ることができます

今のところダウンロードしてUIWebViewに表示していますが、別の場所でダウンロードできるようにしたいと考えています。

NSURL *yourURL = [NSURL URLWithString:self.currentInventoryOfFixtures.pdf.url]; 
NSURLRequest *request = [NSURLRequest requestWithURL:yourURL]; 
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 

NSURL *documentsURL = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; 
     documentsURL = [documentsURL URLByAppendingPathComponent:@"file.pdf"]; 

[data writeToURL:documentsURL atomically:YES]; 

私はUIActivityControllerを使用して、ユーザーに自分のメールアドレスに送信され、それをする可能性を与えることを考えています。

+0

私が持っているアプリケーションで、ダウンロードボタンを持ってUIActivitycontroller – Vinodh

+0

を使用する際の問題は何ですか仕事全体をやる目的。 – Meeshoo

+0

「他の場所でダウンロードする」とはどういう意味ですか? iOSファイルシステムはサンドボックス化されています。 – Gruntcakes

答えて

0

PDFファイルをダウンロードし、このファイルのパスを持つ、あなたはこのようにUIActivityViewController使用することができた後:

let fileSaved = downloadedFilePath() //Already Downloaded File Path 

if let data = NSData(contentsOfFile: fileSaved) { 
    let dataToShare = [data] 
    let activityViewController = UIActivityViewController(activityItems: dataToShare, applicationActivities: nil) 

    activityViewController.completionWithItemsHandler = {(string: String?, result: Bool, items: [AnyObject]?, error:NSError?) -> Void in 
     print("Completed") 
    } 

    if #available(iOS 9.0, *) { 
     activityViewController.excludedActivityTypes = [ 
      UIActivityTypePostToFacebook, 
      UIActivityTypePostToTwitter, 
      UIActivityTypePostToWeibo, 
      UIActivityTypeAssignToContact, 
      UIActivityTypePostToFlickr, 
      UIActivityTypePostToVimeo, 
      UIActivityTypePostToTencentWeibo, 
      UIActivityTypeCopyToPasteboard 
     ] 
    } 
    self.presentViewController(activityViewController, animated: true, completion: nil) 
} 
関連する問題