The problem is iOS's unwavering demand for AirPrint and fundamental disrespect for every pre-existing CUPS printer that still works perfectly with every macOS, *nix, and Windows PC. Every computing device on the planet other than iPhones and iPads prints just fine to network printers that don't support AirPrint. So, yeah, it would be best to fix that problem on the mobile device side, because the problem is the mobile device itself not the network or the printer.
macOS automatically detects my Brother HL-2280DW just fine even without a custom Brother CUPS driver installed, because that printer already supports Bonjour, but iOS refuses to see it.
I believe many Bonjour printers are of the kind that you can create by plugging a USB printer into an Airport, and they require a driver on the client. Apple makes this pretty simple by automatically searching for the driver based on the usb_MFG and usb_MDL from the printer's IEEE 1284 Device ID. None of these drivers would work on iOS, given its a different OS on a different architecture. I think AirPrint was the first driverless printing standard, followed by the PWG standard, and since they used existing technologies I assume they wanted iPhone users to only see printers which would actually work.
Bonjour also supports PostScript printers, which would use a PPD file on the client to configure the UI options and generate a PostScript preamble (this also requires generating a PostScript file from a PDF on the client -- a somewhat expensive operation). I don't know much about this apart from the couple of times its mentioned in the spec: http://devimages.apple.com/opensource/BonjourPrinting.pdf.
The practical solution is to have your friend configure a print server and advertise AirPrint mDNS on their network -- besides printing from my own iPhone, having friends be able to print to my decades-old but mighty HP LaserJet just by hopping on WiFi has been great.