如何在outlook programatically swift 3中添加附件

时间:2017-09-13 18:42:39

标签: ios swift3 outlook url-scheme

我已打开outlook应用程序并在其中发送文件。我能够打开Outlook并设置To,Subject和Body但不确定如何在文档目录中附加文件 该文件位于路径

  var paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
    let documentsDirectory = paths[0]
    let fileName = "supportdata.log"
    let logFilePath = (documentsDirectory as NSString).appendingPathComponent(fileName)

let scheme : String = "ms-outlook://compose?tosupport@tech.com&subject=Support data &body=Please find the attached file" 
     if let url = URL(string: scheme) {
        UIApplication.shared.open(url, options: [:], completionHandler: {
            (success) in
            if (success)
            {
                print("Open \(scheme): \(success)")
            }                     
        })
    }

1 个答案:

答案 0 :(得分:6)

可悲的是,这是不可能的。有两个主要问题:

  1. 您正在深入链接到应用,这意味着将设备上的消息发送到另一个应用,该应用实际上与带有GET方法参数化字符串的普通URI相同。仅字符串,不能发送主要数据/文件。以下URL方案仅供参考。它与你正在使用的相同;虽然我认为你在ms-outlook:// string中缺少'='。

      

    ms-outlook://compose?to=%@&subject=%@&body=%@

  2. iOS对应用程序沙箱非常严格,除非它们位于同一个应用程序/文件域(例如,您是两个应用程序的所有者),否则无法将本地文件传递给其他应用程序。有一些替代方案可以采用淡化格式,但与此方案无关。这就是问题,即使你可以,微软也需要支持这种文件附件功能,但事实并非如此。可悲的是,除了要求微软添加这个功能外,我们无能为力。

  3. 但是,如果你想在苹果邮件应用程序中这样做,那肯定是可行的。