BMW used to sell an iPod input kit basically a smart 30 pin cable which replaced the multi changer wire in back off head unit
trouble is very clunky no control over tracks as everything has to be in 5 x playlists ,which mimics the 5 x CD that would be in the multi changer
Consider a small bluetooth receiver and plug into AUX and then link to the music source
Never seen any form of USB after fit unless you invest in a Parrot or similar