Wanted this for 3 years in my 2019 M5 and finally had to dig in myself.
I did multiple searches to find instructions. I was able to piece together what i needed to know through various posts.
There are folks out there providing coding services as usual but I have tools so why not. I have eSYS and BimmerCode so I went simple first with BimmerCode and found success.
I'm not sure what's relevant here so here are the stats on my System:
CarPlay activated by BMW (1yr). Upgraded by BMW to lifetime.
I Level: S15A-21-7-555
111174.3.210
North American EVO 2018-2
NBTevo_X20511I
Telephone: TB-007.030.001
Media: TB-007.030.001
BimmerCode Full Version: 4.1 (12440) - 13.1.0 using
Vgate iCar Pro Bluetooth 4.0 dongle
1 - Logged into the car with BimmerCode
2 - Headunit [module]
3 - Chose Expert Mode
4 - 3000 HMI [module]
5 - Scrolled for a zillion lines to CARPLAY_FULLSCREEN, tapped > to open
6 - Tapped "aktiv" (was nicht_aktiv)
7 - tap <
8 - tap Back
9 - tap Code
You'll need to reprogram favorites anytime you code the head unit.