I believe I saw your question on SO, but decided to reply here as well just to share our solution more widely.
We had exact same issue for a while and finally were able to reproduce it and look for a workaround.
Reproducing
The crash is 100% triggered with these steps:
Set up and present UIPrintInteractionController with UIPrintInfo:
let pic = UIPrintInteractionController.shared
pic.printInfo = UIPrintInfo.printInfo()
pic.printingItem = ...
pic.present(animated: true)
Actually print something
In some other code place set up and present UIPrintInteractionController without UIPrintInfo:
let pic = UIPrintInteractionController.shared
pic.printingItem = ...
pic.present(animated: true) // Will crash
Solution
Always specify UIPrintInfo for UIPrintIneractionController:
pic.printInfo = UIPrintInfo.printInfo() // Prevents crash
Topic:
App & System Services
SubTopic:
Core OS
Tags: