无法连接到 URL ms-word URL 方案

Cannot connect to URL ms-word URL scheme

我将用户发送到 Microsoft Word 应用程序来编辑文档。为此,我使用了一个 URL 方案,我在 info.plist 中将其列入白名单,作为 "ms-word"。我读到的所有问题和答案都是 outdated/involve 我尝试过多次的解决方案。

在你说 "just use UIDocumentInteractionController" 之前,该文档控制器不允许编辑同一文件,并且它无法在查看文档后将用户返回到原始应用程序。

这是我在 Objective - C

中尝试过的
NSURL *ourURL = [NSURL URLWithString:[@"ms-word:ofe|u|https://www.acm.org/sigs/publications/pubform.doc" stringByAddingPercentEscapesUsingEncoding:(NSUTF8StringEncoding)]];
if([[UIApplication sharedApplication] canOpenURL:ourURL] ) {
    [[UIApplication sharedApplication] openURL:ourURL];
}

我也尝试过这种方法的变体,例如删除编码并手动将管道编码为 %7C,因为这是编码后的最终结果。我在 here 看到的一个教程中使用了这个变体。

这是另一个 tutorial 我看了看对我不起作用。

我还尝试了我在 google 上找到的其他 public facing word 文档,方法是按文件类型 .doc/.docx 搜索,none 有效。

这是我在 Swift

中尝试过的
let ourURL = NSURL(string: ("ms-word:ofe|u|http://www.fcu.edu.tw/wSite/public/Attachment/f1355389313906.doc").stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)!
        print(ourURL)
        let ourApplication:UIApplication = UIApplication.sharedApplication()
        if(ourApplication.canOpenURL(ourURL)) {
            ourApplication.openURL(ourURL)
        }

我再次尝试了多种变体、不同的编码、NSUTF8, stringByAddingPercentEscapesUsingAllowedCharacters(NSCharacters.URLQueryAllowedCharacterSet()),以及不同的 word 文档 url...

我也试过下载文档的 NSData 并将其本地写入我的 phone 中的文件目录,然后打开该文件,但 URL 方案没有支持本地目录(UIDocumentInteractionController 确实支持这个,但同样,您不能编辑该副本,也不能 return 用户到他们的应用程序)。

little documentation about ms word's url schemes, and I've done plenty of research on the topic and it seems there are many people still stuck with the same issue and have gone to Microsoft forums 和其他帮助论坛都没有解决方案,因为这些论坛中挤满了在该特定领域没有经验的人。

每次尝试都会导致:

1) Word 成功启动,但随后收到此错误:"Cannot connect to URL, use a valid URL"

2) Word 成功启动,但随后我收到相同的错误,然后在消除错误后我看到类似 "word cannot open the file at url "

的内容

我了解到我一直收到此错误,因为它根本不可能

要使 ms-word url 方案起作用,文档必须存在于 SharePoint 或 OneDrive 中,声明 here

You can enable users who are running Office on an iOS device to open and edit files stored in SharePoint or OneDrive from any application, and then quickly return them to the original application when they’re done editing the file.