我正在将用户发送到 Microsoft Word 应用程序以编辑文档。为此,我使用了一个在我的 info.plist
中作为“ms-word”列入白名单的 URL 方案。我读过的所有问题和答案都是我尝试过多次的outdated/involve
解决方案。
在您说“只使用 UIDocumentInteractionController
”之前,该文档 Controller 不允许编辑同一个文件,并且在查看文档后它无法将用户发送回原始应用程序。
这是我在 Objective-C 中尝试过的内容
NSURL *ourURL = [NSURL URLWithString:[@"ms-wordfe|u|https://www.acm.org/sigs/publications/pubform.doc" stringByAddingPercentEscapesUsingEncodingNSUTF8StringEncoding)]];
if([[UIApplication sharedApplication] canOpenURLurURL] ) {
[[UIApplication sharedApplication] openURLurURL];
}
我也尝试过这种变体,例如删除编码并将管道手动编码为 %7C,因为这是编码后的最终结果。我看到的教程中使用了这种变体 here .
这是另一个 tutorial我看着那对我不起作用。
我还尝试了通过文件类型 .doc/.docx
在 google 上找到的其他面向公众的 word 文档,但没有任何效果。
这是我在 Swift 中尝试过的内容
let ourURL = NSURL(string: ("ms-wordfe|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
并将其本地写入手机中的文件目录,然后打开该文件,但 URL
方案没有支持本地目录(UIDocumentInteractionController
确实支持这一点,但同样,您不能编辑该副本,也不能将用户返回到他们的应用程序)。
有little documentation关于 ms word 的 url 方案,我已经对该主题进行了大量研究,似乎还有很多人仍然遇到同样的问题,并且已经去了 Microsoft forums以及其他没有解决方案的帮助论坛,因为这些论坛的成员在该特定领域没有经验。
每次尝试都会导致:
1) Word 成功启动,但随后我收到此错误:“无法连接到 URL
,请使用有效的 URL
”
2) Word 成功启动,但随后我收到相同的错误,然后在消除错误后我看到类似“word 无法在 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.
关于ios - 无法连接到 URL ms-word URL 方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38528983/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) | Powered by Discuz! X3.4 |