I've been fighting iOS 13 printing issues in my apps for over a month now.

Printing is done without the user repeatedly having to select a printer, by using UIPrintInteractionController.printToPrinter()

Originally, I was retaining the UIPrinter objects and using them repeatedly, but only after calling contactPrinter on them and getting a successful result. This worked fine in iOS 12 and prior.

In iOS 13, printing to the same UIPrinter instance more than once almost never succeeds. It will succeed if I print to it very quickly, but a minute later it will not succeed anymore. Also, it seems that contactPrinter often fails for no reason. The workaround was to ditch contactPrinter altogether, and recreate the UIPrinter object every time a print is needed by using the url.

OK, but doing that broke 3rd-party print servers: the above workaround is what fixes real AirPrint printers ie. from Canon or whoever, but, that workaround breaks 3rd-party AirPrint print servers like OPrint or Printopia or others -- they then error out with every print, error is that the printer cannot be contacted.

Has anyone else hit this? Is there something i'm missing?

0

There are 0 best solutions below