使用UIActivityViewController将PDF附加到电子邮件

时间:2015-09-28 08:13:37

标签: ios swift swift2 ios9 uiactivityviewcontroller

我正在使用UIActivityViewController为用户提供在我的应用中共享数据的选项。共享的数据是pdf文件。

pdf文件存储在服务器上,我执行GET请求下载pdf文件,如下所示:

let sessionConfig = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: sessionConfig, delegate: nil, delegateQueue: nil)
let request = NSMutableURLRequest(URL: NSURL(string: userBioLink!)!)
request.HTTPMethod = "GET"
let task = session.dataTaskWithRequest(request, completionHandler: {data, response, err -> Void in
    print("THIS IS THE PDF \(data)")      
    print("Entered share bio function")
})
task.resume()

我正在成功下载pdf。 接下来,我希望用户可以选择共享此pdf。所以我用这个:

let activityItems = "Sharing data"
let actviewcon = UIActivityViewController(activityItems: activityItems , applicationActivities: nil)
self.presentViewController(actviewcon, animated: true, completion: nil)

以上也很有效。 但我希望能够做到以下几点:

  1. 如果用户选择“电子邮件”,则PDF将作为附件附加
  2. 如果用户选择邮件,则在邮件中将pdf粘贴为文字的网址
  3. 任何人都可以帮助我。 谢谢。

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

首先将您下载的pdf文件转换为NSData对象。

例如 -

 NSData *noteData = [NSData dataWithContentsOfFile:exe.pdf]; 

然后使用MFMailComposeViewController对象'_mailController'调用以下方法

 [_mailController addAttachmentData:noteData mimeType:@"text/plain" fileName:@"exe.pdf"];

希望这项工作。