Xamarin.Forms AVPlayer exit fullscreen from method

I have a Xamarin application which plays a video for 30 seconds and then shows a dialog. The user can continue to watch (dismiss the dialog) or click an action in the dialog (which then should close full-screen and navigate elsewhere in the app).

I have this working on the simulator. However, when I run the following code on an real iOS device, the app crashes without any stacktrace.


var openLink = await _userDialogs.ConfirmAsync("...", cancelText: "Dismiss", okText: "Yes");

if (openLink)
    await _navigationService.Close(scope);

    MessagingCenter.Send(Application.Current, "CloseFullscreen");


_playerViewController = new AVPlayerViewController()
    ExitsFullScreenWhenPlaybackEnds = true

player = new AVPlayer();
_playerViewController.Player = player;



 MessagingCenter.Subscribe<Xamarin.Forms.Application>(this, "CloseFullscreen", (app) =>
     BeginInvokeOnMainThread(() =>
         var selectorName = "exitFullScreenAnimated:completionHandler:";

         var selector = new ObjCRuntime.Selector(selectorName);

         if (_playerViewController.RespondsToSelector(selector))
             _playerViewController.PerformSelector(selector, NSObject.FromObject(true), 0);

Please note that I am not using the CrossMediaManager plugin due to this bug: https://github.com/Baseflow/XamarinMediaManager/issues/629

Source: Xamarin.ios Questions