如何以编程方式在 Outlook 中添加附件 swift 3

How to add a attachment in outlook programatically swift 3

我打开了 Outlook 应用程序并在其中发送了一个文件。我可以打开 outlook 并设置收件人、主题和正文,但不确定如何在文档目录中附加文件 该文件位于路径

  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. 您正在深层链接到一个应用程序,这意味着将设备上的消息发送到另一个应用程序,该消息实际上与具有 GET 方法参数化字符串的普通 URI 相同。只有字符串,不能发送主要的data/files。下面的URL方案供参考。它与您使用的相同;尽管我认为您的 ms-outlook:// 字符串中缺少“=”。

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

  2. iOS 对应用程序沙盒非常严格,您不能将本地文件传递给其他应用程序,除非它们在同一个 app/file 域中(例如,您是两个应用程序)。有一些替代方案可以以简化格式工作,但与这种情况无关。事情就是这样,即使可以,Microsoft 也需要支持此文件附件功能,但事实并非如此。可悲的是,我们对此无能为力......除了要求微软添加该功能。

但是,如果您想在苹果邮件应用程序中执行此操作,那当然可以。