У меня есть приложение, которое будет загружать файлы .xlsx, .pdf с данного URL. При загрузке будет отображаться локальное уведомление. При нажатии на уведомление, предварительный просмотр загруженного файла должен быть показан. Я могу скачать и просмотреть файл PDF, но когда дело доходит до файла .xlsx, я не могу его предварительно просмотреть. Я использовал UIDocumentInteractionController
и UIDocumentInteractionControllerDelegate
для взаимодействия с путем к файлу для его предварительного просмотра.
func showFileWithPath(path: String)
{
print(path)
let isFileFound:Bool? = FileManager.default.fileExists(atPath: path)
if isFileFound == true
{
let viewer = UIDocumentInteractionController(url: URL(fileURLWithPath: path))
viewer.delegate = self
viewer.presentPreview(animated: true)
}
}
func documentInteractionControllerViewControllerForPreview(_ controller: UIDocumentInteractionController) -> UIViewController
{
return self.navigationController!
}
Этот метод showFileWithPath(path: String)
будет вызываться в UserNotification
методе делегата и путь к файлу передается в качестве параметра. Этот код работает нормально для PDF-файлов. Но когда дело доходит до файлов .xlsx, предварительный просмотр не показывает никакого содержимого, просто показывает загрузку. Тот же случай, когда пытался с QuickLook Framework
.