Я отправляю пользователей в приложение Microsoft Word для редактирования документа. Для этого я использую схему URL, которую я включил в свой info.plist
как «ms-word». Все вопросы и ответы, которые я прочитал об этом, - это outdated/involve
решения, которые я пробовал несколько раз.Невозможно подключиться к URL-адресу URL-адрес URL-адрес
Прежде чем вы скажете «просто используйте UIDocumentInteractionController
», этот контроллер doc не позволяет редактировать один и тот же файл и не может отправить пользователя обратно в исходное приложение после просмотра документа.
Вот что я пытался в Цель - 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, ища по типу файла .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())
, а также различные URLs слово документ ...
Я также попробовал загрузить документ NSData
и записать его локально в каталог файлов в моем телефоне, а затем открыть этот файл, но схема URL
не поддерживает локальные каталоги (UIDocumentInteractionController
действительно поддерживает это, но опять же вы не можете редактировать эту копию и не возвращать пользователь к их приложению).
Существует little documentation о схемах слов ms word, и я провел много исследований по этой теме, и кажется, что многие люди все еще придерживаются той же проблемы и отправились на Microsoft forums и другие форумы помощи без каких-либо решений, поскольку эти форумы заполнены людьми, у которых нет опыта в этой конкретной области.
Каждая попытка это привело либо:
1) Слово успешного запуска, но затем я получаю эту ошибку: «Не удается подключиться к URL
, используйте действительный URL
»
2) Слово успешного запуска , но затем я получаю ту же ошибку, а затем после отклонения ошибки вижу что-то вроде слова не может открыть файл по URL-адресу.
Но как Dropbox и Box.com делает это в своих приложениях для iOS? – Konstantin