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

War*_*ior 3 outlook url-scheme ios swift3

我打开了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)")
            }                     
        })
    }
Run Code Online (Sandbox Code Playgroud)

Chr*_*s J 8

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

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

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

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

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

  • 这个答案仍然有效吗?我的意思是,Outlook App 仍然不支持附件吗? (2认同)