iOS Companion App Disconnecting / losing Map screen [SOLVED]

I was experiencing these frustrating issues for a time and after some experimenting I’ve found a solution. As I couldn’t find this as a bug anywhere, I’ve decided to share this with others who might have similar problem.

The problem
Zwift iOS Companion app is randomly disconnecting from the other device running the main Zwift app. This manifests as regular disappearance of the Map, Dashboard, Zwifters and Messages screens during the active ride (in other words “Zwift connected state”) and return back to the standard Home screen (in other words “Zwift disconnected state”). I’d suspect this also affects users using Companion app as their bridge for Bluetooth devices while connecting to AppleTV.

The reason
Anything that will cause the active device disconnection from the current network will initiate a new network connection. The reason can be anything from the outright loss of WiFi signal, to a weak signal or short period dropouts, interference, power saving activation, DHCP lease expiry, timeout, etc. In the new iOS version 14.x, there’s a new privacy/security setting, that will use a new randomly generated Private MAC Address every time this new WiFi connection is initiated. While it is great and very useful setting for usually insecure public WiFi networks (where I’d suggest to be left ON), in the home environment and depending on your router’s DHCP settings, it will usually mean that each time this happens, your router will allocate a new IP address as it considers this coming from a completely new device (new MAC address). Companion app then needs to find your main Zwift app running device again and reconnect, which sometimes takes a long time or even fails completely due to a timeout.

The solution
On your iOS device, open Settings and then go to WiFi section. Click on the little “i” on your currently used home WiFi network. Scroll down to an option called Private Address and switch this OFF. Your original device registered MAC address should appear and remain the same each time you disconnect / reconnect your WiFi connection. You can ignore the resulting Privacy warning (don’t ignore it on Public WiFi networks). Under normal circumstances and with the usual standard router DHCP settings it will mean that the automatically generated IP address will also remain the same which you can see at the bottom of the same WiFi settings screen when you try. I’d suggest the same setting for your other device(s) where you use main Zwift app.
If you’re able to change your router DHCP settings, you can also manually assign a pre-selected IP address to your device’s MAC address, so it remains the same each time the device re-connects, even after the lease period expires.

Hope this helps.