I am currently developing a WebRTC web app using flutter_webrtc. The app works fine; the WebRTC connects, and the frames are sent to the server if I query the web app using browsers, either Chrome or Safari, on my Mac, Android, and Windows devices. However, when I query the app using IOS browsers, the ICE process fails. I have included two custom TURN for the ICE process, and these TURN servers are not operating using TLS (which might be a problem, but I have also tried to include a TURNS server with Lets Encrypt certificates, and this causes WebKit browsers on both my Mac and IOS to be unable to connect to the WebRTC server).
I believe that there's something with IOS's policy that makes this ICE process unsuccessful. Does anyone know what exactly is the problem here and how to solve it? Thanks!