For anyone still wondering how to make a custom icon for AVRoutePickerView:
let picker = AVRoutePickerView()
let button = picker.subviews.compactMap { $0 as? UIButton }.first
button?.setImage(UIImage(named: "airplay"), for: .normal) // set custom image
button?.layer.sublayers?.first?.isHidden = true // hides default image