Skip to content

[Bug] Publishing maui rc2 app to App Store not working -- The app references non-public symbols in MyContactNetwork.MobileMaui: _proc_pidinfo #61265

Closed
dotnet/maui
#3339
@baartho

Description

@baartho

Description

I'm running into an App Store rejection issue with .NET 6.0 RC 2 + MAUI + iOS + WebView.Maui:

ITMS-90338: Non-public API usage - The app references non-public symbols in MyContactNetwork.MobileMaui: _proc_pidinfo. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/

I believe that the offending package is System.Diagnostics.Process, which I'm guessing is referenced (and so ILLink won't remove, no matter what) because of this line:

private static unsafe partial int proc_pidinfo(

which is called by

https://github.com/dotnet/runtime/blob/main/src/libraries/System.Diagnostics.Process/src/System/Diagnostics/Process.OSX.cs

I tried adding the System.Diagnostics.Process.dll to the trimmer exceptions but it didn't work - I believe something in your code is referencing it.

ILinker build output:

ILLink: Processing embedded substitution descriptor ILLink.Substitutions.xml from System.Diagnostics.Process, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Assembly System.Diagnostics.Process, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a : skipped (SDK)
         ILLink: Reduced '11' instructions in conditional branches for [System.Diagnostics.Process, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a] method System.SR.GetResourceString(String)
         ILLink: Reduced '4' instructions in conditional branches for [System.Diagnostics.Process, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a] method System.SR.Format(String,Object)
         ILLink: Reduced '236' instructions in conditional branches for [System.Diagnostics.Process, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a] method System.Diagnostics.Process.StartCore(ProcessStartInfo)
ILLink: Reduced '5' instructions in conditional branches for [System.Diagnostics.Process, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a] method System.SR.Format(String,Object,Object)
 ILLink: Reduced '1' instructions in conditional branches for [System.Diagnostics.Process, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a] method System.Diagnostics.ProcessWaitState.Holder.Finalize()

Reproduction Steps

Build the base MAUI Blazor template in Release+iOS+ARM64 and publish to App Store TestFlight, using the following in csproj:

ios-arm64

Expected behavior

Successful publish to the app store

Actual behavior

Did not publish

Regression?

Similar issue: #57931

Known Workarounds

No response

Configuration

.NET 6 rc2
MAUI Single Project
Blazor + MAUI.WebView
iOS ARM64 Build

Other information

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions