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

时间:2016-07-22 14:28:36

标签: ios objective-c swift nsurl url-scheme

我将用户发送到Microsoft Word应用以编辑文档。要做到这一点,我使用的网址方案已将info.plist列入白名单" ms-word"。我所读到的所有问题和答案都是outdated/involve解决方案,我曾多次尝试过。

在你说'#34;只使用UIDocumentInteractionController"之前,该doc控制器不允许编辑同一个文件,并且在查看之后它无法将用户发送回原始应用程序文档。

这是我在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我看到的那件事对我没用。

我还尝试通过按文件类型.doc/.docx搜索在谷歌上找到的其他面向公众的单词文档,但都没有。

这是我在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文档网址...

我还尝试下载文档NSData并将其本地写入手机中的文件目录,然后打开该文件,但URL方案没有&#39} ; t支持本地目录(UIDocumentInteractionController确实支持此功能,但同样,您无法编辑该副本,也无法将用户返回其应用程序)。

关于ms word的url方案有little documentation,我已经对这个主题进行了大量的研究,似乎有很多人仍然坚持同样的问题并且已经去了Microsoft forums以及其他没有解决方案的帮助论坛,因为这些论坛中的人员都没有这个特定领域的经验。

每次尝试都会导致:

1)Word已成功启动,但之后我收到此错误:"无法连接到URL,请使用有效的URL"

2)Word成功启动,但后来我收到同样的错误,然后在解除错误后我看到类似" word无法在url打开文件"

1 个答案:

答案 0 :(得分:0)

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

要使ms-word网址方案有效,该文档必须位于SharePoint或OneDrive中,并指明为here

  

您可以在iOS设备上启用运行Office的用户从任何应用程序打开和编辑存储在SharePoint或OneDrive 中的文件,然后在完成后快速将其返回到原始应用程序编辑文件。