Muy claro...
Me considero un desarrollador de iOS bastante experimentado en estos días, pero este parece un error evidente en iOS, a menos que me haya perdido algo.
Por favor, vea el código a continuación.
Las rutas de archivo apuntan a dos archivos PDF de una página.
Lo que aparece es un controlador de interacción de impresión sin contenido para imprimir.
Si, en cambio, solo hago 1 archivo a la vez como este:
pc.printingItem = [NSURL fileURLWithPath:filePath1];Trabaja como un campeón.
¡¿Que me estoy perdiendo aqui?!
UIPrintInteractionController *pc = [UIPrintInteractionController sharedPrintController]; UIPrintInfo *printInfo = [UIPrintInfo printInfo]; printInfo.outputType = UIPrintInfoOutputPhoto; printInfo.orientation = UIPrintInfoOrientationLandscape; pc.printInfo = printInfo; pc.printingItems = @[[NSURL fileURLWithPath:filePath1], [NSURL fileURLWithPath:filePath2]]; [pc presentAnimated:YES completionHandler:completionHandler];Tuve el mismo problema y lo resolví configurando la propiedad printingItem con datos sin procesar de mi archivo PDF.
// Here is a class I created that works with `UIActivityViewController`, // feel free to tweak to your needs. final class CustomActivityViewController: UIActivityViewController { init(with filePath: URL, and fileData: Data?) { super.init(activityItems: [filePath], applicationActivities: []) completionWithItemsHandler = { activity, complete, items, error in if activity == .print { let printInfo = UIPrintInfo(dictionary: nil) printInfo.jobName = filePath.lastPathComponent printInfo.outputType = .general let printer = UIPrintInteractionController.shared printer.printingItem = fileData // <-- This is the cure. printer.printInfo = printInfo printer.present(animated: true, completionHandler: nil) } } } }