diff --git a/src/TestUtils/src/DeviceTests/AssertionExtensions.iOS.cs b/src/TestUtils/src/DeviceTests/AssertionExtensions.iOS.cs index 0b99c9f720e9..bc4f04d5fa03 100644 --- a/src/TestUtils/src/DeviceTests/AssertionExtensions.iOS.cs +++ b/src/TestUtils/src/DeviceTests/AssertionExtensions.iOS.cs @@ -575,10 +575,16 @@ public static void TapBackButton(this UINavigationBar uINavigationBar) { var item = uINavigationBar.GetBackButton(); - var recognizer = item!.GestureRecognizers!.OfType().FirstOrDefault(); - _ = recognizer ?? throw new Exception("Unable to Back Button TapGestureRecognizer"); - - recognizer.State = UIGestureRecognizerState.Ended; + var recognizer = item?.GestureRecognizers?.OfType()?.FirstOrDefault(); + if (recognizer is null && item is UIControl control) + { + control.SendActionForControlEvents(UIControlEvent.TouchUpInside); + } + else + { + _ = recognizer ?? throw new Exception("Unable to figure out how to tap back button"); + recognizer.State = UIGestureRecognizerState.Ended; + } } public static string? GetToolbarTitle(this UINavigationBar uINavigationBar)