[iOS 26] Fix SearchBar layout spacing issues for small HeightRequest values#35347
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 35347Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 35347" |
MauiBot
left a comment
There was a problem hiding this comment.
Expert Review — 10 findings
See inline comments for details.
There was a problem hiding this comment.
Pull request overview
Fixes iOS/MacCatalyst 26 SearchBar rendering when HeightRequest is set below the control’s intrinsic iOS height (which can cause the background to shrink while the internal text field stays at native size).
Changes:
- Update iOS
SearchBarHandler.GetDesiredSizeto base constraints on the intrinsic height and clamp explicitly-set smaller heights on iOS/MacCatalyst 26+. - Add a new HostApp repro page and an Appium screenshot regression test for issue #35286.
- Add a device test asserting small
HeightRequestvalues don’t render below a minimum height.
Reviewed changes
Copilot reviewed 4 out of 7 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| src/Core/src/Handlers/SearchBar/SearchBarHandler.iOS.cs | Clamps explicitly small heights to intrinsic height on iOS/MacCatalyst 26+ during GetDesiredSize. |
| src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue35286.cs | Adds an Appium screenshot test for the SearchBar spacing regression. |
| src/Controls/tests/TestCases.HostApp/Issues/Issue35286.cs | Adds a HostApp issue page reproducing small/large HeightRequest cases. |
| src/Controls/tests/DeviceTests/Elements/SearchBar/SearchBarTests.cs | Adds a device test for small HeightRequest rendering behavior. |
MauiBot
left a comment
There was a problem hiding this comment.
Expert Review — 6 findings
See inline comments for details.
kubaflo
left a comment
There was a problem hiding this comment.
Some tests are failing - could you please verify?
🤖 AI Summary
📊 Review Session —
|
| Test | Without Fix (expect FAIL) | With Fix (expect PASS) |
|---|---|---|
📱 SearchBarTests (ValidateSearchBarSmallHeightRequestRendering) Category=SearchBar |
✅ FAIL — 360s | ✅ PASS — 199s |
🖥️ Issue35286 Issue35286 |
✅ FAIL — 152s | ✅ PASS — 91s |
🔴 Without fix — 📱 SearchBarTests (ValidateSearchBarSmallHeightRequestRendering): FAIL ✅ · 360s
(truncated to last 15,000 chars)
ateSearchBarSmallHeightRequestRendering(Double requestedHeight)
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7009730] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7009770] 2026-05-12 08:08:29.698953-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] Execution time: 0.0102984
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7010050] 2026-05-12 08:08:29.699196-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] Test trait name: Category
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7010500] 2026-05-12 08:08:29.699284-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] value: SearchBar
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7010570] 2026-05-12 08:08:29.699543-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] [FAIL] SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7010680] 2026-05-12 08:08:29.699666-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] [FAIL] SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac Test name: SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac(requestedHeight: 35) Test case: SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7010850] Assembly: [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7011000] 2026-05-12 08:08:29.699779-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] Exception messages: Expected SearchBar height to remain at least the intrinsic height (71.33333333333334), but was 35 for HeightRequest=35. Exception stack traces: at Microsoft.Maui.DeviceTests.SearchBarTests.<>c__DisplayClass7_0.<ValidateSearchBarSmallHeightRequestRendering>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7011060] at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass1_0.<DispatchAsync>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7011100] 2026-05-12 08:08:29.699877-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass0_0`1[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<DispatchAsync>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7011150] 2026-05-12 08:08:29.699996-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7011210] at Microsoft.Maui.DeviceTests.SearchBarTests.ValidateSearchBarSmallHeightRequestRendering(Double requestedHeight)
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7011240] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7011280] Execution time: 0.0102984
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7011310] Test trait name: Category
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7011350] value: SearchBar
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7079950] 2026-05-12 08:08:29.707745-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] Test name: SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac(requestedHeight: 20)
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7080150] 2026-05-12 08:08:29.707868-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] Test case: SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7123640] 2026-05-12 08:08:29.707993-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] Exception messages: Expected SearchBar height to remain at least the intrinsic height (71.33333333333334), but was 20 for HeightRequest=20.
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124090] 2026-05-12 08:08:29.708073-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] Exception stack traces: at Microsoft.Maui.DeviceTests.SearchBarTests.<>c__DisplayClass7_0.<ValidateSearchBarSmallHeightRequestRendering>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124170] at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass1_0.<DispatchAsync>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124220] 2026-05-12 08:08:29.708220-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass0_0`1[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<DispatchAsync>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124260] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124480] 2026-05-12 08:08:29.708369-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] at Microsoft.Maui.DeviceTests.SearchBarTests.ValidateSearchBarSmallHeightRequestRendering(Double requestedHeight)
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124540] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124570] 2026-05-12 08:08:29.708468-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] Execution time: 0.0069917
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124610] 2026-05-12 08:08:29.708570-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] Test trait name: Category
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124640] 2026-05-12 08:08:29.708669-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] value: SearchBar
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124680] 2026-05-12 08:08:29.708770-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] [FAIL] SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124710] 2026-05-12 08:08:29.708861-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] [FAIL] SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac Test name: SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac(requestedHeight: 20) Test case: SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124870] Assembly: [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124930] 2026-05-12 08:08:29.708954-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] Exception messages: Expected SearchBar height to remain at least the intrinsic height (71.33333333333334), but was 20 for HeightRequest=20. Exception stack traces: at Microsoft.Maui.DeviceTests.SearchBarTests.<>c__DisplayClass7_0.<ValidateSearchBarSmallHeightRequestRendering>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7124970] at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass1_0.<DispatchAsync>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7125010] 2026-05-12 08:08:29.709028-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass0_0`1[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<DispatchAsync>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7125060] 2026-05-12 08:08:29.709168-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7125120] at Microsoft.Maui.DeviceTests.SearchBarTests.ValidateSearchBarSmallHeightRequestRendering(Double requestedHeight)
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7125170] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7125200] Execution time: 0.0069917
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7125240] Test trait name: Category
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7125270] value: SearchBar
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7185410] 2026-05-12 08:08:29.718093-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] [PASS] VerifySearchBarIsVisibleProperty
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7204770] 2026-05-12 08:08:29.720010-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] Microsoft.Maui.DeviceTests.SearchBarTests 0.2677767 ms
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7297640] 2026-05-12 08:08:29.729558-0700 Microsoft.Maui.Controls.DeviceTests[6785:44741] Failed tests:
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7304910] 2026-05-12 08:08:29.729683-0700 Microsoft.Maui.Controls.DeviceTests[6785:44741] 1) [FAIL] SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac Test name: SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac(requestedHeight: 35) Test case: SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7305310] Assembly: [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7305390] 2026-05-12 08:08:29.729954-0700 Microsoft.Maui.Controls.DeviceTests[6785:44741] Exception messages: Expected SearchBar height to remain at least the intrinsic height (71.33333333333334), but was 35 for HeightRequest=35. Exception stack traces: at Microsoft.Maui.DeviceTests.SearchBarTests.<>c__DisplayClass7_0.<ValidateSearchBarSmallHeightRequestRendering>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7305430] 2026-05-12 08:08:29.730235-0700 Microsoft.Maui.Controls.DeviceTests[6785:44741] at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass1_0.<DispatchAsync>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7305510] at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass0_0`1[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<DispatchAsync>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7307570] 2026-05-12 08:08:29.730449-0700 Microsoft.Maui.Controls.DeviceTests[6785:44741] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7308030] at Microsoft.Maui.DeviceTests.SearchBarTests.ValidateSearchBarSmallHeightRequestRendering(Double requestedHeight)
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7308110] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7308160] Execution time: 0.0102984
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7308240] Test trait name: Category
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7308280] value: SearchBar
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7308310] 2026-05-12 08:08:29.730563-0700 Microsoft.Maui.Controls.DeviceTests[6785:44741] 2) [FAIL] SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac Test name: SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac(requestedHeight: 20) Test case: SearchBar small HeightRequest keeps intrinsic minimum height on iOS/Mac
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7308350] Assembly: [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7308420] 2026-05-12 08:08:29.730638-0700 Microsoft.Maui.Controls.DeviceTests[6785:44741] Exception messages: Expected SearchBar height to remain at least the intrinsic height (71.33333333333334), but was 20 for HeightRequest=20. Exception stack traces: at Microsoft.Maui.DeviceTests.SearchBarTests.<>c__DisplayClass7_0.<ValidateSearchBarSmallHeightRequestRendering>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7309880] 2026-05-12 08:08:29.730856-0700 Microsoft.Maui.Controls.DeviceTests[6785:44741] at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass1_0.<DispatchAsync>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7310050] at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass0_0`1[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<DispatchAsync>b__0()
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7318010] 2026-05-12 08:08:29.730967-0700 Microsoft.Maui.Controls.DeviceTests[6785:44741] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7318650] at Microsoft.Maui.DeviceTests.SearchBarTests.ValidateSearchBarSmallHeightRequestRendering(Double requestedHeight)
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7318770] --- End of stack trace from previous location ---
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7318840] Execution time: 0.0069917
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7318890] Test trait name: Category
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7318930] value: SearchBar
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7328630] 2026-05-12 08:08:29.732077-0700 Microsoft.Maui.Controls.DeviceTests[6785:44741] Tests run: 17 Passed: 14 Inconclusive: 0 Failed: 2 Ignored: 1
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7539490] 2026-05-12 08:08:29.753669-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] Xml file was written to the provided writer.
�[40m�[37mdbug�[39m�[22m�[49m: [08:08:29.7540700] 2026-05-12 08:08:29.753864-0700 Microsoft.Maui.Controls.DeviceTests[6785:44200] Tests run: 455 Passed: 14 Inconclusive: 0 Failed: 2 Ignored: 439
�[40m�[37mdbug�[39m�[22m�[49m: ==================== End of ApplicationLog ====================
�[40m�[37mdbug�[39m�[22m�[49m:
�[40m�[32minfo�[39m�[22m�[49m: Uninstalling the application 'com.microsoft.maui.controls.devicetests' from 'iPhone 11 Pro'
�[40m�[37mdbug�[39m�[22m�[49m:
�[40m�[37mdbug�[39m�[22m�[49m: Running /Applications/Xcode_26.0.1.app/Contents/Developer/usr/bin/simctl
�[40m�[37mdbug�[39m�[22m�[49m: Process simctl exited with 0
�[40m�[32minfo�[39m�[22m�[49m: Application 'com.microsoft.maui.controls.devicetests' was uninstalled successfully
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
{
"version": 1,
"machineName": "VWWH4WWJGK-1",
"exitCode": 1,
"exitCodeName": "TESTS_FAILED",
"platform": "apple",
"device": "iPhone 11 Pro",
"deviceOsVersion": "26.0",
"files": [
{
"name": "test-ios-simulator-64_26.0-773DC9BB-E85D-4A3E-8574-2CF0174B5FC8.log",
"type": "executionlog"
},
{
"name": "list-ios-simulator-64_26.0-20260512_080754.log",
"type": "devicelist"
},
{
"name": "test-ios-simulator-64_26.0-20260512_080802.log",
"type": "testlog"
},
{
"name": "iPhone 11 Pro.log",
"type": "systemlog"
},
{
"name": "Microsoft.Maui.Controls.DeviceTests.log",
"type": "systemlog"
},
{
"name": "com.microsoft.maui.controls.devicetests.log",
"type": "applicationlog"
},
{
"name": "xunit-test-ios-simulator-64_26.0-20260512_080802.xml",
"type": "xmllog"
}
]
}
<<XHARNESS_RESULT_END>>
XHarness exit code: 1 (TESTS_FAILED)
Passed: 0
Failed: 0
Tests completed with exit code: 1
🟢 With fix — 📱 SearchBarTests (ValidateSearchBarSmallHeightRequestRendering): PASS ✅ · 199s
(truncated to last 15,000 chars)
[08:13:51.4320100] 0x10c8200b0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : load_image
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4320190] 0x10c8167e0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : load_aot_module
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4320320] 0x10c8f0618 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_load_from
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4320360] 0x10c8f0134 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_open
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4320380] 0x10c8f1454 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_open
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4333950] 0x10c45dddc - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libxamarin-dotnet.dylib : xamarin_assembly_preload_hook
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4334570] 0x10c8f2470 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : invoke_assembly_preload_hook
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4334650] 0x10c8ef3f8 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_byname
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4334850] 0x10c8200b0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : load_image
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4334900] 0x10c8167e0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : load_aot_module
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4334950] 0x10c8f0618 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_load_from
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4334970] 0x10c8f0134 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_open
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335090] 0x10c8f1454 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_open
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335130] 0x10c45dddc - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libxamarin-dotnet.dylib : xamarin_assembly_preload_hook
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335180] 0x10c8f2470 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : invoke_assembly_preload_hook
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335200] 0x10c8ef3f8 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_byname
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335270] 0x10c8200b0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : load_image
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335300] 0x10c8167e0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : load_aot_module
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335330] 0x10c8f0618 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_load_from
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335360] 0x10c8f0134 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_open
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335460] 0x10c866e4c - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_core_preload_hook
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335500] 0x10c8f24dc - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : invoke_assembly_preload_hook
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335530] 0x10c8ef3f8 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_assembly_request_byname
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335550] 0x10c8200b0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : load_image
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335610] 0x10c8167e0 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : load_aot_module
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335630] 0x10c81afac - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_aot_get_method
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335650] 0x10c79ff3c - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_jit_compile_method_with_opt
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335690] 0x10c79dcac - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4335720] 0x10c95e910 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_runtime_invoke_checked
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4337310] 0x10c911818 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : create_exception_two_strings
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4337530] 0x10c91159c - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_exception_from_name_two_strings_checked
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4337590] 0x10c8eb96c - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_runtime_init_checked
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4337700] 0x10c79d63c - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mini_init
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4337800] 0x10c7f4d1c - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libmonosgen-2.0.dylib : mono_jit_init
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4337830] 0x10c45d014 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libxamarin-dotnet.dylib : xamarin_bridge_initialize
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.4337860] 0x10c45e1e8 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/libxamarin-dotnet.dylib : xamarin_main
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5101430] 0x106eb0d60 - /Users/cloudtest/Library/Developer/CoreSimulator/Devices/773DC9BB-E85D-4A3E-8574-2CF0174B5FC8/data/Containers/Bundle/Application/BF55189C-B9F2-41B5-ADF5-943C3E106DA9/Microsoft.Maui.Controls.DeviceTests.app/Microsoft.Maui.Controls.DeviceTests : main
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5102050] 0x10beed3d0 - Unknown
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5102150] 0x10c03bda4 - Unknown
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5102210]
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5102280] =================================================================
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5102330] Basic Fault Address Reporting
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5102390] =================================================================
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5102440] Memory around native instruction pointer (0x10c36088c):0x10c36087c c0 03 5f d6 c0 03 5f d6 10 29 80 d2 01 10 00 d4 .._..._..)......
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5102640] 0x10c36088c e3 00 00 54 fd 7b bf a9 fd 03 00 91 16 e3 ff 97 ...T.{..........
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5102710] 0x10c36089c bf 03 00 91 fd 7b c1 a8 c0 03 5f d6 c0 03 5f d6 .....{...._..._.
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5102760] 0x10c3608ac 70 0a 80 d2 01 10 00 d4 e3 00 00 54 fd 7b bf a9 p..........T.{..
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5103050]
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5103120] =================================================================
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5103170] Managed Stacktrace:
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5103220] =================================================================
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5103270] at <unknown> <0xffffffff>
�[40m�[37mdbug�[39m�[22m�[49m: [08:13:51.5103320] =================================================================
�[40m�[37mdbug�[39m�[22m�[49m: ==================== End of ApplicationLog ====================
�[40m�[37mdbug�[39m�[22m�[49m:
�[40m�[32minfo�[39m�[22m�[49m: Uninstalling the application 'com.microsoft.maui.controls.devicetests' from 'iPhone 11 Pro'
�[40m�[37mdbug�[39m�[22m�[49m:
�[40m�[37mdbug�[39m�[22m�[49m: Running /Applications/Xcode_26.0.1.app/Contents/Developer/usr/bin/simctl
�[40m�[37mdbug�[39m�[22m�[49m: Process simctl exited with 0
�[40m�[32minfo�[39m�[22m�[49m: Application 'com.microsoft.maui.controls.devicetests' was uninstalled successfully
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
{
"version": 1,
"machineName": "VWWH4WWJGK-1",
"exitCode": 0,
"exitCodeName": "SUCCESS",
"platform": "apple",
"device": "iPhone 11 Pro",
"deviceOsVersion": "26.0",
"files": [
{
"name": "test-ios-simulator-64_26.0-773DC9BB-E85D-4A3E-8574-2CF0174B5FC8.log",
"type": "executionlog"
},
{
"name": "list-ios-simulator-64_26.0-20260512_081344.log",
"type": "devicelist"
},
{
"name": "iPhone 11 Pro.log",
"type": "systemlog"
},
{
"name": "Microsoft.Maui.Controls.DeviceTests.log",
"type": "systemlog"
},
{
"name": "com.microsoft.maui.controls.devicetests.log",
"type": "applicationlog"
}
]
}
<<XHARNESS_RESULT_END>>
XHarness exit code: 0
Passed: 0
Failed: 0
Tests completed successfully
🔴 Without fix — 🖥️ Issue35286: FAIL ✅ · 152s
Determining projects to restore...
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/src/BindingSourceGen/Controls.BindingSourceGen.csproj (in 588 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Graphics/src/Graphics/Graphics.csproj (in 601 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Essentials/src/Essentials.csproj (in 286 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Core/src/Core.csproj (in 1.13 sec).
Restored /Users/cloudtest/vss/_work/1/s/src/Core/maps/src/Maps.csproj (in 1.13 sec).
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/Maps/src/Controls.Maps.csproj (in 1.13 sec).
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/src/Xaml/Controls.Xaml.csproj (in 517 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/src/Core/Controls.Core.csproj (in 1.17 sec).
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/Foldable/src/Controls.Foldable.csproj (in 1.2 sec).
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj (in 1.76 sec).
Restored /Users/cloudtest/vss/_work/1/s/src/BlazorWebView/src/Maui/Microsoft.AspNetCore.Components.WebView.Maui.csproj (in 1.78 sec).
/Users/cloudtest/vss/_work/1/s/.dotnet/packs/Microsoft.iOS.Sdk.net10.0_26.0/26.0.11017/targets/Xamarin.Shared.Sdk.targets(309,3): warning : RuntimeIdentifier was set on the command line, and will override the value for RuntimeIdentifiers set in the project file. [/Users/cloudtest/vss/_work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-ios]
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Graphics -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Graphics/Debug/net10.0-ios26.0/Microsoft.Maui.Graphics.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Essentials -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Essentials/Debug/net10.0-ios26.0/Microsoft.Maui.Essentials.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Core -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Core/Debug/net10.0-ios26.0/Microsoft.Maui.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Maps -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Maps/Debug/net10.0-ios26.0/Microsoft.Maui.Maps.dll
Controls.BindingSourceGen -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Controls.Core -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.Core/Debug/net10.0-ios26.0/Microsoft.Maui.Controls.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Microsoft.AspNetCore.Components.WebView.Maui -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Microsoft.AspNetCore.Components.WebView.Maui/Debug/net10.0-ios26.0/Microsoft.AspNetCore.Components.WebView.Maui.dll
Controls.Foldable -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.Foldable/Debug/net10.0-ios26.0/Microsoft.Maui.Controls.Foldable.dll
Controls.Maps -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.Maps/Debug/net10.0-ios26.0/Microsoft.Maui.Controls.Maps.dll
Controls.Xaml -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.Xaml/Debug/net10.0-ios26.0/Microsoft.Maui.Controls.Xaml.dll
Detected signing identity:
Code Signing Key: "" (-)
Provisioning Profile: "" () - no entitlements
Bundle Id: com.microsoft.maui.uitests
App Id: com.microsoft.maui.uitests
Controls.TestCases.HostApp -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-ios/iossimulator-arm64/Controls.TestCases.HostApp.dll
Optimizing assemblies for size may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
Optimizing assemblies for size. This process might take a while.
Build succeeded.
/Users/cloudtest/vss/_work/1/s/.dotnet/packs/Microsoft.iOS.Sdk.net10.0_26.0/26.0.11017/targets/Xamarin.Shared.Sdk.targets(309,3): warning : RuntimeIdentifier was set on the command line, and will override the value for RuntimeIdentifiers set in the project file. [/Users/cloudtest/vss/_work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-ios]
1 Warning(s)
0 Error(s)
Time Elapsed 00:00:58.32
Determining projects to restore...
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/src/BindingSourceGen/Controls.BindingSourceGen.csproj (in 543 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Graphics/src/Graphics/Graphics.csproj (in 544 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Essentials/src/Essentials.csproj (in 544 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/tests/CustomAttributes/Controls.CustomAttributes.csproj (in 544 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/TestUtils/src/VisualTestUtils/VisualTestUtils.csproj (in 544 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/TestUtils/src/UITest.Core/UITest.Core.csproj (in 2 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Core/src/Core.csproj (in 574 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/src/Core/Controls.Core.csproj (in 321 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/TestUtils/src/UITest.NUnit/UITest.NUnit.csproj (in 1.63 sec).
Restored /Users/cloudtest/vss/_work/1/s/src/TestUtils/src/UITest.Appium/UITest.Appium.csproj (in 2.4 sec).
Restored /Users/cloudtest/vss/_work/1/s/src/TestUtils/src/UITest.Analyzers/UITest.Analyzers.csproj (in 2.46 sec).
Restored /Users/cloudtest/vss/_work/1/s/src/TestUtils/src/VisualTestUtils.MagickNet/VisualTestUtils.MagickNet.csproj (in 3.14 sec).
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/tests/TestCases.iOS.Tests/Controls.TestCases.iOS.Tests.csproj (in 2.59 sec).
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Controls.CustomAttributes -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.CustomAttributes/Debug/net10.0/Controls.CustomAttributes.dll
Graphics -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Graphics/Debug/net10.0/Microsoft.Maui.Graphics.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Essentials -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Essentials/Debug/net10.0/Microsoft.Maui.Essentials.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Core -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Core/Debug/net10.0/Microsoft.Maui.dll
Controls.BindingSourceGen -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Controls.Core -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.Core/Debug/net10.0/Microsoft.Maui.Controls.dll
VisualTestUtils -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/VisualTestUtils/Debug/netstandard2.0/VisualTestUtils.dll
UITest.Core -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/UITest.Core/Debug/net10.0/UITest.Core.dll
VisualTestUtils.MagickNet -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/VisualTestUtils.MagickNet/Debug/netstandard2.0/VisualTestUtils.MagickNet.dll
UITest.NUnit -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/UITest.NUnit/Debug/net10.0/UITest.NUnit.dll
UITest.Appium -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/UITest.Appium/Debug/net10.0/UITest.Appium.dll
UITest.Analyzers -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/UITest.Analyzers/Debug/netstandard2.0/UITest.Analyzers.dll
Controls.TestCases.iOS.Tests -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.TestCases.iOS.Tests/Debug/net10.0/Controls.TestCases.iOS.Tests.dll
Test run for /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.TestCases.iOS.Tests/Debug/net10.0/Controls.TestCases.iOS.Tests.dll (.NETCoreApp,Version=v10.0)
VSTest version 18.0.1 (arm64)
Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
/Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.TestCases.iOS.Tests/Debug/net10.0/Controls.TestCases.iOS.Tests.dll
[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 10.0.0)
[xUnit.net 00:00:00.05] Discovering: Controls.TestCases.iOS.Tests
[xUnit.net 00:00:00.15] Discovered: Controls.TestCases.iOS.Tests
NUnit Adapter 4.5.0.0: Test execution started
Running selected tests in /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.TestCases.iOS.Tests/Debug/net10.0/Controls.TestCases.iOS.Tests.dll
NUnit3TestExecutor discovered 1 of 1 NUnit test cases using Current Discovery mode, Non-Explicit run
>>>>> 5/12/2026 8:10:59 AM FixtureSetup for Issue35286(iOS)
>>>>> 5/12/2026 8:11:03 AM VerifySearchBarHeightRequestValues Start
>>>>> 5/12/2026 8:11:05 AM VerifySearchBarHeightRequestValues Stop
>>>>> 5/12/2026 8:11:05 AM Log types: syslog, crashlog, performance, safariConsole, safariNetwork, server
Failed VerifySearchBarHeightRequestValues [2 s]
Error Message:
VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VerifySearchBarHeightRequestValues.png (7.10% difference)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
Stack Trace:
at VisualTestUtils.VisualRegressionTester.Fail(String message) in /_/src/TestUtils/src/VisualTestUtils/VisualRegressionTester.cs:line 162
at VisualTestUtils.VisualRegressionTester.VerifyMatchesSnapshot(String name, ImageSnapshot actualImage, String environmentName, ITestContext testContext) in /_/src/TestUtils/src/VisualTestUtils/VisualRegressionTester.cs:line 123
at Microsoft.Maui.TestCases.Tests.UITest.<VerifyScreenshot>g__Verify|13_0(String name, <>c__DisplayClass13_0&) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 477
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 309
at Microsoft.Maui.TestCases.Tests.Issues.Issue35286.VerifySearchBarHeightRequestValues() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue35286.cs:line 18
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
NUnit Adapter 4.5.0.0: Test execution complete
Test Run Failed.
Total tests: 1
Failed: 1
Total time: 55.3833 Seconds
🟢 With fix — 🖥️ Issue35286: PASS ✅ · 91s
Determining projects to restore...
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/src/BindingSourceGen/Controls.BindingSourceGen.csproj (in 337 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Essentials/src/Essentials.csproj (in 329 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Graphics/src/Graphics/Graphics.csproj (in 362 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Core/maps/src/Maps.csproj (in 394 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/Maps/src/Controls.Maps.csproj (in 396 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/src/Xaml/Controls.Xaml.csproj (in 401 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/src/Core/Controls.Core.csproj (in 401 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Core/src/Core.csproj (in 411 ms).
3 of 11 projects are up-to-date for restore.
/Users/cloudtest/vss/_work/1/s/.dotnet/packs/Microsoft.iOS.Sdk.net10.0_26.0/26.0.11017/targets/Xamarin.Shared.Sdk.targets(309,3): warning : RuntimeIdentifier was set on the command line, and will override the value for RuntimeIdentifiers set in the project file. [/Users/cloudtest/vss/_work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-ios]
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Graphics -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Graphics/Debug/net10.0-ios26.0/Microsoft.Maui.Graphics.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Essentials -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Essentials/Debug/net10.0-ios26.0/Microsoft.Maui.Essentials.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Core -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Core/Debug/net10.0-ios26.0/Microsoft.Maui.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Maps -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Maps/Debug/net10.0-ios26.0/Microsoft.Maui.Maps.dll
Controls.BindingSourceGen -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Controls.Core -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.Core/Debug/net10.0-ios26.0/Microsoft.Maui.Controls.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Controls.Maps -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.Maps/Debug/net10.0-ios26.0/Microsoft.Maui.Controls.Maps.dll
Microsoft.AspNetCore.Components.WebView.Maui -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Microsoft.AspNetCore.Components.WebView.Maui/Debug/net10.0-ios26.0/Microsoft.AspNetCore.Components.WebView.Maui.dll
Controls.Xaml -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.Xaml/Debug/net10.0-ios26.0/Microsoft.Maui.Controls.Xaml.dll
Controls.Foldable -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.Foldable/Debug/net10.0-ios26.0/Microsoft.Maui.Controls.Foldable.dll
Detected signing identity:
Code Signing Key: "" (-)
Provisioning Profile: "" () - no entitlements
Bundle Id: com.microsoft.maui.uitests
App Id: com.microsoft.maui.uitests
Controls.TestCases.HostApp -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-ios/iossimulator-arm64/Controls.TestCases.HostApp.dll
Optimizing assemblies for size may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
Optimizing assemblies for size. This process might take a while.
Build succeeded.
/Users/cloudtest/vss/_work/1/s/.dotnet/packs/Microsoft.iOS.Sdk.net10.0_26.0/26.0.11017/targets/Xamarin.Shared.Sdk.targets(309,3): warning : RuntimeIdentifier was set on the command line, and will override the value for RuntimeIdentifiers set in the project file. [/Users/cloudtest/vss/_work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-ios]
1 Warning(s)
0 Error(s)
Time Elapsed 00:00:44.92
Determining projects to restore...
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/src/BindingSourceGen/Controls.BindingSourceGen.csproj (in 441 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Essentials/src/Essentials.csproj (in 406 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Graphics/src/Graphics/Graphics.csproj (in 406 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Core/src/Core.csproj (in 471 ms).
Restored /Users/cloudtest/vss/_work/1/s/src/Controls/src/Core/Controls.Core.csproj (in 490 ms).
8 of 13 projects are up-to-date for restore.
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Controls.CustomAttributes -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.CustomAttributes/Debug/net10.0/Controls.CustomAttributes.dll
Graphics -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Graphics/Debug/net10.0/Microsoft.Maui.Graphics.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Essentials -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Essentials/Debug/net10.0/Microsoft.Maui.Essentials.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Core -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Core/Debug/net10.0/Microsoft.Maui.dll
Controls.BindingSourceGen -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
##vso[build.updatebuildnumber]10.0.70-ci+azdo.14075631
Controls.Core -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.Core/Debug/net10.0/Microsoft.Maui.Controls.dll
VisualTestUtils -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/VisualTestUtils/Debug/netstandard2.0/VisualTestUtils.dll
UITest.Core -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/UITest.Core/Debug/net10.0/UITest.Core.dll
VisualTestUtils.MagickNet -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/VisualTestUtils.MagickNet/Debug/netstandard2.0/VisualTestUtils.MagickNet.dll
UITest.Appium -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/UITest.Appium/Debug/net10.0/UITest.Appium.dll
UITest.NUnit -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/UITest.NUnit/Debug/net10.0/UITest.NUnit.dll
UITest.Analyzers -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/UITest.Analyzers/Debug/netstandard2.0/UITest.Analyzers.dll
Controls.TestCases.iOS.Tests -> /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.TestCases.iOS.Tests/Debug/net10.0/Controls.TestCases.iOS.Tests.dll
Test run for /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.TestCases.iOS.Tests/Debug/net10.0/Controls.TestCases.iOS.Tests.dll (.NETCoreApp,Version=v10.0)
VSTest version 18.0.1 (arm64)
Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
/Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.TestCases.iOS.Tests/Debug/net10.0/Controls.TestCases.iOS.Tests.dll
[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 10.0.0)
[xUnit.net 00:00:00.05] Discovering: Controls.TestCases.iOS.Tests
[xUnit.net 00:00:00.14] Discovered: Controls.TestCases.iOS.Tests
NUnit Adapter 4.5.0.0: Test execution started
Running selected tests in /Users/cloudtest/vss/_work/1/s/artifacts/bin/Controls.TestCases.iOS.Tests/Debug/net10.0/Controls.TestCases.iOS.Tests.dll
NUnit3TestExecutor discovered 1 of 1 NUnit test cases using Current Discovery mode, Non-Explicit run
>>>>> 5/12/2026 8:15:52 AM FixtureSetup for Issue35286(iOS)
>>>>> 5/12/2026 8:15:55 AM VerifySearchBarHeightRequestValues Start
>>>>> 5/12/2026 8:15:56 AM VerifySearchBarHeightRequestValues Stop
Passed VerifySearchBarHeightRequestValues [311 ms]
NUnit Adapter 4.5.0.0: Test execution complete
Test Run Successful.
Total tests: 1
Passed: 1
Total time: 20.1592 Seconds
📁 Fix files reverted (1 files)
src/Core/src/Handlers/SearchBar/SearchBarHandler.iOS.cs
🧪 UI Tests — SearchBar,ViewBaseTests
Detected UI test categories: SearchBar,ViewBaseTests
❌ Deep UI tests — 178 passed, 4 failed across 2 categories on platform-pool agent (replaces in-process counts above).
🧪 UI Test Execution Results (deep, platform pool)
| Category | Tests | Snapshot diffs |
|---|---|---|
ios_ui_tests-controls-SearchBar |
33/36 (2 ❌) | 2 diff PNGs |
ios_ui_tests-controls-ViewBaseTests |
145/148 (2 ❌) | — |
❌ ios_ui_tests-controls-SearchBar — 2 failed tests
VerifySearchBarPlaceholderAndBackgroundColor
VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VerifySearchBarPlaceholderAndBackgroundColor.png (5.21% difference)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
at VisualTestUtils.VisualRegressionTester.Fail(String message) in /_/src/TestUtils/src/VisualTestUtils/VisualRegressionTester.cs:line 162
at VisualTestUtils.VisualRegressionTester.VerifyMatchesSnapshot(String name, ImageSnapshot actualImage, String environmentName, ITestContext testContext) in /_/src/TestUtils/src/VisualTestUtils/VisualRegressionTester.cs:line 123
at Microsoft.Maui.TestCases.Tests.UITest.<VerifyScreenshot>g__Verify|13_0(String name, <>c__DisplayClass13_0&) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 477
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable
...
VerifySearchBarHeightRequestValues
VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VerifySearchBarHeightRequestValues.png (0.63% difference)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
at VisualTestUtils.VisualRegressionTester.Fail(String message) in /_/src/TestUtils/src/VisualTestUtils/VisualRegressionTester.cs:line 162
at VisualTestUtils.VisualRegressionTester.VerifyMatchesSnapshot(String name, ImageSnapshot actualImage, String environmentName, ITestContext testContext) in /_/src/TestUtils/src/VisualTestUtils/VisualRegressionTester.cs:line 123
at Microsoft.Maui.TestCases.Tests.UITest.<VerifyScreenshot>g__Verify|13_0(String name, <>c__DisplayClass13_0&) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 477
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDe
...
❌ ios_ui_tests-controls-ViewBaseTests — 2 failed tests
VerifySearchBarPlaceholderAndBackgroundColor
VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VerifySearchBarPlaceholderAndBackgroundColor.png (5.21% difference)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
at VisualTestUtils.VisualRegressionTester.Fail(String message) in /_/src/TestUtils/src/VisualTestUtils/VisualRegressionTester.cs:line 162
at VisualTestUtils.VisualRegressionTester.VerifyMatchesSnapshot(String name, ImageSnapshot actualImage, String environmentName, ITestContext testContext) in /_/src/TestUtils/src/VisualTestUtils/VisualRegressionTester.cs:line 123
at Microsoft.Maui.TestCases.Tests.UITest.<VerifyScreenshot>g__Verify|13_0(String name, <>c__DisplayClass13_0&) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 477
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable
...
VerifySearchBarHeightRequestValues
VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: VerifySearchBarHeightRequestValues.png (0.63% difference)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
More info: https://aka.ms/visual-test-workflow
at VisualTestUtils.VisualRegressionTester.Fail(String message) in /_/src/TestUtils/src/VisualTestUtils/VisualRegressionTester.cs:line 162
at VisualTestUtils.VisualRegressionTester.VerifyMatchesSnapshot(String name, ImageSnapshot actualImage, String environmentName, ITestContext testContext) in /_/src/TestUtils/src/VisualTestUtils/VisualRegressionTester.cs:line 123
at Microsoft.Maui.TestCases.Tests.UITest.<VerifyScreenshot>g__Verify|13_0(String name, <>c__DisplayClass13_0&) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 477
at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDe
...
📎 Download drop-deep-uitests artifact (TRX + snapshot diffs)
🔍 Pre-Flight — Context & Validation
Pre-Flight: PR #35347
PR Snapshot
- Title: [iOS 26] Fix SearchBar layout spacing issues for small HeightRequest values
- Author: devanathan-vaithiyanathan (partner/syncfusion, community)
- Base:
main· Head:fix-35286@c28ae37e - Fixes: Issue Spacing problem with maui 10.0.60 iOS #35286 (regressed-in-10.0.60, p/0, platform/ios, area-controls-searchbar)
- Platform under test: iOS
Issue Summary
On iOS 26, the regression introduced by PR #27449 makes the UISearchBar background follow HeightRequest, while the embedded UITextField keeps its native size. A small HeightRequest (e.g. 25–35) leaves the text field overflowing the visible search-bar chrome with visible spacing/clipping artifacts. Visible only on iOS/MacCatalyst 26.
Root Cause (per author + verified)
PR #27449 changed SearchBarHandler.iOS.cs/GetDesiredSize so that, in the unconstrained branch, ResolveConstraints consumes PlatformView.Frame.Height after SizeToFit() and lets explicit Height/MinimumHeight win unconditionally. On iOS 26 there is no longer a one-to-one relationship between the outer search bar size and its embedded text field, so reducing the outer height below the intrinsic value desyncs the chrome.
Fix Approach (current PR)
In SearchBarHandler.iOS.cs/GetDesiredSize (the infinite-constraint branch):
- Use
PlatformView.IntrinsicContentSize.Heightinstead ofFrame.Heightas the base size passed toResolveConstraints. - On iOS/MacCatalyst 26+ only, clamp the resolved height to be at least the intrinsic height:
Math.Max(constrainedHeight, intrinsicHeight).
This preserves the original intent of #27449 for large explicit heights while preventing the regression for small HeightRequest values; older iOS/MacCatalyst keep the prior behavior to minimize risk.
Changed Files
| File | Notes |
|---|---|
src/Core/src/Handlers/SearchBar/SearchBarHandler.iOS.cs (+11/-1) |
Behavior change; only on iOS/MacCatalyst 26+. |
src/Controls/tests/DeviceTests/Elements/SearchBar/SearchBarTests.cs (+34) |
iOS-only theory verifying Frame.Height >= IntrinsicContentSize.Height for HeightRequest 20 and 35. |
src/Controls/tests/TestCases.HostApp/Issues/Issue35286.cs (+47) |
Reproduction page (HeightRequest=35 + HeightRequest=100). |
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue35286.cs (+20) |
Appium screenshot test VerifySearchBarHeightRequestValues. |
| Snapshots (android, ios, ios-26) | Baseline images for the new screenshot test. |
Risks / Things to Watch
- Unused
using staticimport. The newusing static Microsoft.Maui.Primitives.Dimension;line does not reference anyDimensionmember. WithTreatWarningsAsErrors=true(Directory.Build.props), CS8019 could break the build if not suppressed. Frame.WidthvsIntrinsicContentSize.Width. The PR switched height toIntrinsicContentSize.Heightbut keptFrame.Width.UISearchBar.IntrinsicContentSize.Widthis typicallyUIView.NoIntrinsicMetric(-1), so keepingFrame.Widthis intentionally correct, but worth noting.- Version gating scope. Issue title and labels indicate the visual problem is iOS 26 only. Fix is correctly gated. If users reproduce on iOS <26 it would not be fixed, but no evidence of that today.
- Behavior change for unset HeightRequest on iOS 26+. Previously returned
Frame.Heightpost-SizeToFit; now returnsIntrinsicContentSize.Height. In practice these are equal forUISearchBar, but this is the only non-clamp behavior delta. - Test exercises raw handler size, not the visual chrome/text-field alignment (that is covered by the Appium screenshot test instead).
Gate
Gate was previously executed: ✅ tests fail without fix, pass with fix. Not re-run here.
🔧 Fix — Analysis & Comparison
Try-Fix Aggregate Summary
Four independent candidate fixes were explored, each loaded from a different maui-expert-reviewer dimension to maximize diversity. None improves on the current PR.
| Candidate | Dimension | Idea | Regression test? | Notes |
|---|---|---|---|---|
try-fix-1 |
Platform specifics (iOS) | Drop the iOS-26 gate; clamp on all iOS versions. | ✅ Passes | Broader than necessary; potentially re-regresses behavior on iOS <26 that #27449 intentionally enabled. |
try-fix-2 |
Layout system / constraints | Express clamp as an "effective minimum" passed to ResolveConstraints. |
Net more complex than the PR. | |
try-fix-3 |
Handler patterns | Shrink the inner UITextField to match the requested small height instead of clamping outer height. |
❌ Fails the new device test (actualHeight >= intrinsicHeight) |
Brittle subview manipulation; out of scope; visually uncertain. |
try-fix-4 |
API design / regression patterns | Restore pre-#27449 semantics ("explicit can grow, not shrink below intrinsic") at all versions. | ✅ Passes locally | Re-introduces the bug #27449 was fixing on iOS <26; broader than needed. |
Conclusion: the PR's narrow, version-gated Math.Max(constrainedHeight, intrinsicHeight) is the smallest correct fix. The strongest candidate overall is pr-plus-reviewer, which keeps the PR's logic and adds minor cleanup (remove unused using static, tighten device test skip, optionally narrow the IntrinsicContentSize.Height substitution to inside the iOS-26 branch).
📋 Report — Final Recommendation
Phase 3 — Comparative Report: PR #35347
Ranking (best → worst)
| Rank | Candidate | Regression tests | Scope | Notes |
|---|---|---|---|---|
| 1 | pr-plus-reviewer |
✅ Pass | Minimal | PR's logic + remove unused using, tighten device-test skip behavior, optionally restrict the IntrinsicContentSize.Height substitution to the iOS-26 branch. |
| 2 | pr |
✅ Pass | Minimal | Correct fix; gated to iOS/MacCatalyst 26+; comprehensive tests. Carries a (style-only) unused using static Microsoft.Maui.Primitives.Dimension;. |
| 3 | try-fix-1 |
✅ Pass | Wider | Drops the version gate. Functionally also fixes the bug but unnecessarily broadens behavior change to iOS <26. |
| 4 | try-fix-4 |
✅ Pass | Widest | Re-architects measurement to pre-#27449 semantics for all versions. Effectively reverts an intentional change on iOS <26. |
| 5 | try-fix-2 |
Equivalent | Pure "effective minimum" approach does not survive an explicit HeightRequest; needs the post-clamp anyway → equivalent to the PR with more code. |
|
| 6 | try-fix-3 |
❌ Fails new device test | Out of scope | Tries to shrink inner UITextField instead of clamping outer height. By rule, must rank below all candidates that pass the regression test. |
Why pr-plus-reviewer wins
- Same correctness and same regression-test behavior as the PR.
- Removes a code smell (
using staticthat imports nothing used in the file). - Improves test report clarity (
Assert.Skipvs. silentreturnso non-iOS-26 runs are visibly "skipped", not "passed"). - Adds a tighter assertion that the embedded
UITextFieldstays inside the chrome — the exact visual symptom of Spacing problem with maui 10.0.60 iOS #35286. - Zero new behavior risk.
Why pr is a close #2
The PR's substantive logic is exactly right and the fix is correctly version-gated. The only deltas vs. pr-plus-reviewer are cosmetic / test-clarity, not correctness. If the author chose not to take reviewer feedback, the PR alone is still mergeable.
Why try-fix candidates lose
try-fix-1andtry-fix-4change behavior on iOS <26 where there is no evidence of any regression. They expand the blast radius of a P/0 fix unnecessarily.try-fix-2collapses into the same code as the PR once edge cases are handled — no net improvement, more lines.try-fix-3fails the very regression test this PR adds (and snapshot baselines), and attempts brittle subview surgery on a redesigned iOS 26 control.
Final Recommendation
Merge pr-plus-reviewer (PR fix with reviewer cleanup applied). Acceptable fallback: merge pr as-is.
|
/backport to release/10.0.1xx-sr7 |
|
Started backporting to |
…or small HeightRequest values (#35426) Backport of #35347 to release/10.0.1xx-sr7 /cc @kubaflo @devanathan-vaithiyanathan --------- Co-authored-by: devanathan-vaithiyanathan <114395405+devanathan-vaithiyanathan@users.noreply.github.com>
…values (#35347) <!-- Please keep the note below for people who find this PR --> > [!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](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment whether this change resolves your issue. Thank you!<!-- !!!!!!! MAIN IS THE ONLY ACTIVE BRANCH. MAKE SURE THIS PR IS TARGETING MAIN. !!!!!!! ### Issue Details: Due to this [PR](#27449), the SearchBar always respects the HeightRequest/WidthRequest. If a minimum height lower than the native SearchBar height is set, it results in a weird appearance (e.g., when rendered with a height of 25, as shown in the attachment). ### Root cause: PR [27449](#27449) changed iOS SearchBar sizing so HeightRequest was always applied after SizeToFit(). That fixed large explicit heights, but it also let small values shrink the SearchBar below its native minimum height, which caused the issue. ### Description of Change <!-- Enter description of the fix in this section --> Updated the iOS SearchBar handler to keep honoring explicit sizes, but not allow HeightRequest to reduce the control below its intrinsic iOS height. ### Issues Fixed <!-- Please make sure that there is a bug logged for the issue being fixed. The bug should describe the problem and how to reproduce it. --> Fixes #35286 <!-- Are you targeting main? All PRs should target the main branch unless otherwise noted. --> **Tested the behavior in the following platforms.** - [x] Android - [x] Windows - [x] iOS - [x] Mac | Before | After | |---------|--------| | **iOS**<br> <img src="https://github.com/user-attachments/assets/54a2ef6c-8b55-427a-aa40-ce0160b78696" width="300" height="600"> | **iOS**<br> <img src="https://github.com/user-attachments/assets/2ef63d5c-4b90-415a-aaaa-85b6993c1c24" width="300" height="600"> |
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 whether this change resolves your issue. Thank you!<!--
!!!!!!! MAIN IS THE ONLY ACTIVE BRANCH. MAKE SURE THIS PR IS TARGETING MAIN. !!!!!!!
Issue Details:
Due to this PR, the SearchBar always respects the HeightRequest/WidthRequest. If a minimum height lower than the native SearchBar height is set, it results in a weird appearance (e.g., when rendered with a height of 25, as shown in the attachment).
Root cause:
PR 27449 changed iOS SearchBar sizing so HeightRequest was always applied after SizeToFit(). That fixed large explicit heights, but it also let small values shrink the SearchBar below its native minimum height, which caused the issue.
Description of Change
Updated the iOS SearchBar handler to keep honoring explicit sizes, but not allow HeightRequest to reduce the control below its intrinsic iOS height.
Issues Fixed
Fixes #35286
Tested the behavior in the following platforms.