UIDocumentInteractionController.present возвращает true, но не показывает - PullRequest
0 голосов
/ 09 июня 2019

У меня есть веб-приложение для iOS, использующее HTML5 и WKWebView, которое генерирует файлы (например, изображения, PDF-файлы или epubs), сохраняет их локально (для временного каталога на iPad), а затем должно дать пользователю возможность Поделиться. Я использую UIDocumentInteractionController для представления предварительного просмотра или открытого представления, чтобы пользователь мог решить, как поделиться новым ресурсом. Этот процесс прекрасно работает для изображений и PDF-файлов, но с epubs диалоговое окно собственного ресурса не отображается, даже если documentInteractionController.presentOpenInMenu(from: self.view.frame, in: self.view, animated: true) возвращает значение true.

Мой epub действителен. Я могу открыть этот же файл через iOS Mail.

Вот соответствующие части кода. Есть идеи?

//url is a file url of a locally stored epub file
func share(url: URL) {

        DispatchQueue.main.async {
            self.documentInteractionController.url = url;

            //setting this doesn't seem to make a difference 
            //documentInteractionController.uti = "org.idpf.epub-container";
            self.documentInteractionController.name = url.localizedName ?? url.lastPathComponent;

            let success = self.documentInteractionController.presentOpenInMenu(from: self.view.frame, in: self.view, animated: true); //no dialog is shown
            print(success); //always true, even though dialog is not shown
        };


        //tried this, but also doesn't work
        //documentInteractionController.presentPreview(animated: true);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...