我已打开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)")
}
})
}
答案 0 :(得分:6)
可悲的是,这是不可能的。有两个主要问题:
您正在深入链接到应用,这意味着将设备上的消息发送到另一个应用,该应用实际上与带有GET方法参数化字符串的普通URI相同。仅字符串,不能发送主要数据/文件。以下URL方案仅供参考。它与你正在使用的相同;虽然我认为你在ms-outlook:// string中缺少'='。
ms-outlook://compose?to=%@&subject=%@&body=%@
iOS对应用程序沙箱非常严格,除非它们位于同一个应用程序/文件域(例如,您是两个应用程序的所有者),否则无法将本地文件传递给其他应用程序。有一些替代方案可以采用淡化格式,但与此方案无关。这就是问题,即使你可以,微软也需要支持这种文件附件功能,但事实并非如此。可悲的是,除了要求微软添加这个功能外,我们无能为力。
但是,如果你想在苹果邮件应用程序中这样做,那肯定是可行的。