An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
Hi @Ranjit Kumar Barick ,
Thank you for reaching out.
I recommend some solutions below:
- Using delayed Shell navigation, because it ensures that navigation only occurs after the page and Shell are fully loaded. On newer iOS versions, the Shell and page lifecycle events may complete slightly later, and attempting to navigate immediately after login can cause the navigation to hang.
This is code example:
await Task.Delay(100);
await Shell.Current.GoToAsync("//DashboardPage");
- Because newer ios version introduced changes to how the platform handles navigation animations and transitions. By setting animate: false, you bypass the animation subsystem that may be causing the freeze.
await Shell.Current.GoToAsync("//DashboardPage", animate: false);
- Newer iOS versions enforce stricter thread safety requirements for UI operations. The MainThread.BeginInvokeOnMainThread method ensures that navigation occurs on the main thread, preventing deadlocks or freezes. That's why you should ensure navigation happens on the main thread.
MainThread.BeginInvokeOnMainThread(async () =>
{
await Shell.Current.GoToAsync("//DashboardPage");
});
- You can also try resetting the navigation stack before navigating:
await Shell.Current.Navigation.PopToRootAsync();
await Shell.Current.GoToAsync("//DashboardPage");
This prevents potential navigation stack corruption that can occur in .NET MAUI on iOS when multiple pages are in the navigation hierarchy.
- While you're currently on .NET 8, ensure you have the latest service release with all patches:
dotnet workload update.
Hope this helps. If you found my response helpful or informative, I would greatly appreciate it if you could follow this guidance provide feedback. Thank you.