У меня есть веб-приложение для 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);
}