-
Notifications
You must be signed in to change notification settings - Fork 1.8k
[iOS] Fixed the App crashes when navigating to a page containing a map more than once #29369
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Hey there @@Ahamed-Ali! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR resolves an iOS crash that occurred when navigating back to a page containing a map by ensuring that the map’s handler is properly assigned when the view is reused from the pool.
- Moved the handler assignment logic in MauiMKMapView outside the constructor.
- Updated the MapPool to assign the handler when retrieving a map from the pool.
- Modified MapHandler.iOS to utilize the new overload in MapPool for proper handler assignment.
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
src/Core/maps/src/Platform/iOS/MauiMKMapView.cs | Added an internal Handler property using a weak reference to the map handler. |
src/Core/maps/src/Platform/iOS/MapPool.cs | Added a new Get overload to assign the IMapHandler when reusing a map view. |
src/Core/maps/src/Handlers/Map/MapHandler.iOS.cs | Updated to use the new MapPool.Get overload with the handler parameter. |
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue20612.cs | Added a test case to verify that the crash is fixed. |
src/Controls/tests/TestCases.HostApp/Issues/Issue20612.cs | Updated the sample app to support testing the fixed behavior. |
/azp run MAUI-UITests-public |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run MAUI-DeviceTests-public |
Azure Pipelines successfully started running 1 pipeline(s). |
…p more than once (#29369) * Committed the test case and sample * committed the fix * Modified the test sample * Updated the Test condition for windows * Removed unwanted spaces * Optimized the fix * Change the code into modern c#
…p more than once (#29369) * Committed the test case and sample * committed the fix * Modified the test sample * Updated the Test condition for windows * Removed unwanted spaces * Optimized the fix * Change the code into modern c#
…p more than once (#29369) * Committed the test case and sample * committed the fix * Modified the test sample * Updated the Test condition for windows * Removed unwanted spaces * Optimized the fix * Change the code into modern c#
…p more than once (#29369) * Committed the test case and sample * committed the fix * Modified the test sample * Updated the Test condition for windows * Removed unwanted spaces * Optimized the fix * Change the code into modern c#
…p more than once (#29369) * Committed the test case and sample * committed the fix * Modified the test sample * Updated the Test condition for windows * Removed unwanted spaces * Optimized the fix * Change the code into modern c#
For more information about inflight process check https://github.com/dotnet/maui/wiki/Inflight-Branch-Process # .NET MAUI Release Notes ## New Release: May 21, 2025 We're excited to announce a new release of .NET MAUI with several bug fixes and improvements across various platforms. ### Bug Fixes #### iOS - **Map Control**: Fixed crash when navigating to a page containing a map more than once (#29369) - **CarouselView**: Fixed bounce-back behavior when Loop=false, ensuring proper scrolling experience (#29318) - **UIView**: Fixed NullReferenceException for UIView not being in UIWindow (#29460) #### Windows - **CarouselView**: Fixed HorizontalScrollBarVisibility="Never" not working properly (#29343) - **UI Controls**: Fixed the color not being applied to the Expand/Collapse Chevron icon (#29140) #### Windows & macOS - **Modal Navigation**: Fixed issue where Disappearing event was not triggered when closing a window with a modal page (#29129) #### Android - **Modal Pages**: Improved inheritance of StatusBar and NavigationBar background colors (#28568) - **Footer Scrolling**: Fixed footer scrolling issues in list controls (#29381) - **Modal Pages**: Improved inheritance of StatusBar and NavigationBar background colors on modal pages (#28568) #### Cross-Platform - **CarouselView**: Fixed ItemsLayout runtime updates to ensure proper layout behavior (#29447) - **CollectionView**: Fixed various issues in CollectionView implementation (#29423) ### Testing Improvements - Added feature matrix UITest cases for CollectionView dynamic changes (#29424) ### Code Quality - Fixed code formatting issues across the codebase - Minor typo corrections (#29379) ### Contributors This release was made possible by the hard work of our dedicated team and community contributors. We'd like to extend our gratitude to everyone who has contributed to this release. ### Installation This update is available through NuGet and the .NET SDK. Update your projects to get access to these fixes. ### Known Issues Please refer to our issue tracker for any known issues and their workarounds. --- For more information about .NET MAUI, visit [the official documentation](https://docs.microsoft.com/dotnet/maui/).
…p more than once (#29369) * Committed the test case and sample * committed the fix * Modified the test sample * Updated the Test condition for windows * Removed unwanted spaces * Optimized the fix * Change the code into modern c#
Note
Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!
Root Cause of the issue
Description of Change
pool
, the handler is not null and does not cause a crash.Issues Fixed
Fixes #20612
Fixes #29346
Fix Reference
#28795
Tested the behaviour in the following platforms
Screenshot
MapCrash.mov
MapCrashFix.mov