If you cancel a print job using AirPrint while the printer is turned off, the print center remains on the app switcher and subsequent printing cannot be performed correctly.

-Environment

iPad:10th、iOS:17.6.1、Printer:EPSON PX-S730

-Question

Is this phenomenon due to iOS specifications? Restarting the iPad solves the problem, but I don't think it's best practice to restart it every time you reproduce it. Please let me know if you have a good solution.

-Problem

I am developing a print preview screen using AirPrint's print method. If you submit a print job using AirPrint on an iPad while the printer is turned off and then cancel it, the print center remains on the app switcher. After that, when I turned on the printer, I was no longer able to print using AirPrint on my iPad. When using AirPrint's API "print" and when printing by launching AirPrint from Safari, we have confirmed the same behavior in both cases.

-How to reproduce

  1. Turn off the printer
  2. Print from iPad to printer using AirPrint
  3. Launch the print center from the app switcher, cancel the print job, and set the number of print jobs to 0.
  4. When you start the app switcher, the Print Center app remains.
  5. In step 4, turn on the printer and print from the iPad to the printer using AirPrint.
  6. When you start Print Center from the app switcher, the print job status becomes "Waiting" and the print job is not executed.

-Expected result

When there are no print jobs on the print center, the print center is closed on the app switcher. You can print from your iPad to the printer using AirPrint, and then print from the printer.

-Actual results

When there are no print jobs on the print center, the print center remains on the app switcher without being closed. In the above situation, when printing from the iPad to the printer using AirPrint, the printer does not print. When I start the print center, the print job status is "Waiting" and is queued.

-Code

printInfo.jobName = "Print Job"
printController.printInfo = printInfo
let pdfURL = Bundle.main.url(forResource: "sample", withExtension: "pdf")!
printController.printingItem = pdfURL
let printer = UIPrinter(url: printerUrl)
printController.print(to: printer, completionHandler: { [self] printController, completed, error in
  if(error != nil){
    print("error"). 
  }else if completed{
    print("completed")  //this scenario handles completion response
  }else{
    print("cancel")
  }
})

-Link of API used

Apple Developer-AirPrint-print

-Similar inquiries

Apple Developer Forum - Print Center on my iPhone shows a pending document to print and I can't get rid of it

You should use the Feedback Assistant to report this to ensure that it goes to the correct engineers.

If you cancel a print job using AirPrint while the printer is turned off, the print center remains on the app switcher and subsequent printing cannot be performed correctly.
 
 
Q