Xamarin WebRTC in IOS WebView not working

Amr Kamal 1 Reputation point
2022-05-21T23:06:03.243+00:00

I'm trying to integrate webrtc into Xamarin Forms app using webview Android is working fine but in IOS streaming camera not working . I think the problem in IOS WebView render here's my render

public class HybridWebViewRenderer : WkWebViewRenderer, IWKScriptMessageHandler
{
public HybridWebViewRenderer() : this(new WKWebViewConfiguration())
{
}

    public HybridWebViewRenderer(WKWebViewConfiguration config) : base(config)
    {
        config.AllowsInlineMediaPlayback = true;
        userController = config.UserContentController;
        var script = new WKUserScript(new NSString(JavaScriptFunction), WKUserScriptInjectionTime.AtDocumentEnd, false);
        userController.AddUserScript(script);
        userController.AddScriptMessageHandler(this, "invokeAction");
    }

    protected override void OnElementChanged(VisualElementChangedEventArgs e)
    {
        base.OnElementChanged(e);

        if (e.OldElement != null)
        {
            userController.RemoveAllUserScripts();
            userController.RemoveScriptMessageHandler("invokeAction");
            GenericWebView hybridWebView = e.OldElement as GenericWebView;
            hybridWebView.Cleanup();
        }

        if (e.NewElement != null)
        {
            //{((GenericWebView)Element).Uri}
            string filename = Path.Combine(NSBundle.MainBundle.BundlePath, $"/test.html");
            LoadRequest(new NSUrlRequest(new NSUrl(filename, false)));
        }
    }

    public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
    {
        ((GenericWebView)Element).InvokeAction(message.Body.ToString());
    }


}

How to fix this issue ?

Xamarin
Xamarin
A Microsoft open-source app platform for building Android and iOS apps with .NET and C#.
5,293 questions
{count} votes