I have successfully download pdf file from Internet and it is saved in documents directory. The url is as follows of the downloaded file
file:///Users/heetshah/Library/Developer/CoreSimulator/Devices/4BF83AAF-A910-46EB-AE76-91BC6BEED033/data/Containers/Data/Application/B4532805-2842-431F-B16C-C5E448C8366F/Documents/TPAFForm.pdf
I am trying to display it to PDFKit as follows.
let path = URL(fileURLWithPath: pdfUrl!)
if let document = PDFDocument(url: path) {
  pdfView.document = document
  pdfView.displayMode = .singlePageContinuous
  pdfView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
  pdfView.displaysAsBook = true
  pdfView.displayDirection = .vertical
  pdfView.autoScales = true
  pdfView.maxScaleFactor = 4.0
  pdfView.minScaleFactor = pdfView.scaleFactorForSizeToFit
}
I am not getting any error
I have went through bunch of stack overflow posts and it is displaying the same solution as above but it does not work in my case. I also tried following solution but it does not work
if let path = Bundle.main.path(forResource: pdfUrl, ofType: "pdf") {
            let url = URL(fileURLWithPath: path)
            if let pdfDocument = PDFDocument(url: url) {..
Following is my code to download the file
func downloadPDF(pdfUrl: String?,fileName: String,completionHandler:@escaping(String,Bool) -> ()){
        let destinationPath: DownloadRequest.DownloadFileDestination = {
            _,_ in
            let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
            let fileURL = documentsURL.appendingPathComponent("\(fileName).pdf")
            return (fileURL,[.removePreviousFile,.createIntermediateDirectories])
        }
        if let pdfUrl = pdfUrl {
            Alamofire.download(pdfUrl, to: destinationPath).downloadProgress { (progress) in
            }.responseData { (response) in
                switch response.result{
                case .success:
                    if response.destinationURL != nil,let filePath = response.destinationURL?.absoluteString{
                        completionHandler(filePath,true)
                    }
                    break
                case .failure:
                    completionHandler("Something went wrong",false)
                    break
                }
            }
        }
    }
I am using Alamofire to download the file. There constraint for my PDFView are proper as I am able to display an online url pdf in my preview but I need to download the pdf locally first and then display it in my pdf view