WKWebView TURN Incompatibility

After more than three weeks of trying to debug a Ionic-Vue WebRTC project to run in iOS, I found the solution. First, dump Ionic-Vue/Capacitor and rewrite the application in Ionic-React/Capacitor. What was most surprising was how Calude.ai was able to take my code that ran in Safari, Android (native) and in the web perfectly, and within 10-15 minutes turn out an app that xCode installed on the iPhone and ran on the first try.

I was hitting a problem with the Ionic-Vue project that made no sense, everything was working everywhere but in iOS native app. Seems that WKWebView has an issue the although everything was set to use ICE Candidates on TCP port 443, the iOS version was stuck on UDP and generated a port that does not not work on most cell services (tested on T-Mobile and AT&T). IT is still unclear where the actual bug exists or if Apple has set some sort of security features that are not exposed to the world, but I discovered React uses a different version and Claude was able to generate the same app without any human intervention.

As they say in the development world, “Ship it”. and Happy New Year!