Skip to content

Commit 281f423

Browse files
kotlarmilosCopilot
andcommitted
[net11.0] Strip native binaries on iOS/tvOS device builds in Debug
Follow-up to #24678. PR #24678 added the CoreCLR runtime frameworks and the R2R composite framework to @(_PostProcessingItem) so they would be stripped, which took effect for Release device builds. In Debug device builds the strip was bypassed because the Debug-default in Xamarin.Shared.props set the global $(NoSymbolStrip)=true, which then propagated onto every _PostProcessingItem with empty %(NoSymbolStrip) metadata, causing _NativeStripItems to filter all items out. Remove the Debug-default rule entirely. iOS/tvOS device builds now always strip native binaries and a dSYM bundle is generated for post-mortem symbolication, regardless of Configuration. Simulator builds remain unstripped so the live debugger keeps symbols on disk. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent d369239 commit 281f423

1 file changed

Lines changed: 0 additions & 2 deletions

File tree

msbuild/Xamarin.Shared/Xamarin.Shared.props

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,6 @@ Copyright (C) 2020 Microsoft. All rights reserved.
140140
<!-- Xamarin.Mac never had an equivalent for MtouchNoSymbolStrip and was never stripped, except when using NativeAOT -> true -->
141141
<!-- default to 'false' -->
142142
<NoSymbolStrip Condition="'$(NoSymbolStrip)' == '' And '$(_PlatformName)' != 'macOS'">$(MtouchNoSymbolStrip)</NoSymbolStrip>
143-
<!-- Disable stripping for Debug builds by default -->
144-
<NoSymbolStrip Condition="'$(NoSymbolStrip)' == '' And '$(Configuration)' == 'Debug'">true</NoSymbolStrip>
145143
<NoSymbolStrip Condition="'$(NoSymbolStrip)' == '' And ('$(_PlatformName)' == 'macOS' Or '$(_PlatformName)' == 'MacCatalyst') And '$(_UseNativeAot)' != 'true'">true</NoSymbolStrip>
146144
<!-- Disable stripping for simulator builds by default -->
147145
<NoSymbolStrip Condition="'$(NoSymbolStrip)' == '' And ('$(_PlatformName)' == 'iOS' Or '$(_PlatformName)' == 'tvOS' Or '$(_PlatformName)' == 'watchOS') And '$(ComputedPlatform)' != 'iPhone'">true</NoSymbolStrip>

0 commit comments

Comments
 (0)