У меня есть то, что я считал простым контроллером представления для отображения предварительно загруженного файла PDF. Путь к PDF-файлу передается предыдущим контроллером в var pdfPath .
У меня есть кнопка действия / совместного использования, которую я пытаюсь использовать для публикации и печати PDF-файла, используя PDFDocument.dataRepresentation () . Согласно нескольким источникам в Интернете, он должен работать, но я получаю странную ошибку:
[Неизвестное имя процесса] Не удалось загрузить / System / Library / PrivateFrameworks / CorePDF .framework / Versions / A / CorePDF
Код:
import UIKit
import PDFKit
class PDFViewController: UIViewController {
@IBOutlet weak var ActionBarButton: UIBarButtonItem!
var pdfPath: String? = nil
override func viewDidLoad() {
super.viewDidLoad()
let pdfView = PDFView(frame: self.view.bounds)
self.view.addSubview(pdfView)
pdfView.autoScales = true
if let path = pdfPath {
let fileURL = Bundle.main.url(forResource: path, withExtension: "pdf")
pdfView.document = PDFDocument(url: fileURL!)!
}
}
@IBAction func ActionButtonPressed(_ sender: UIBarButtonItem) {
print("ActionButtonPressed():")
if let path = pdfPath {
let fileURL = Bundle.main.url(forResource: path, withExtension: "pdf")
let pdfDocument = PDFDocument(url: fileURL!)
guard let data = pdfDocument?.dataRepresentation() else {return}
let activityController = UIActivityViewController(activityItems: [data], applicationActivities: nil)
self.present(activityController, animated: true, completion: nil)
}
}
Если кто-нибудь знает ответ, почему это не работает, я был бы очень признателен.