Home > Enterprise >  ITMS-90338: Non-public API usage - The app references non-public selectors in [App]
ITMS-90338: Non-public API usage - The app references non-public selectors in [App]

Time:02-11

I am building a Xamarin.Forms app that is building properly and deploying to the Apple App Store but keeps getting rejected for the following reasons:

ITMS-90338: Non-public API usage - The app references non-public selectors in [App].Mobile.iOS: accessibilityBrailleMapRenderRegion, accessibilityBrailleMapRenderer, accessibilityColumnRange, accessibilityRowRange, activePlayer, beginAuthorizationWithRequest:, cancelAuthorizationWithRequest:, errorForCHIPErrorCode:, errorToCHIPErrorCode:, playerId, serviceExtensionWillTerminate, session:didReceiveData:fromPlayer:, session:didReceiveMessage:withData:fromPlayer:, session:player:didChangeConnectionState:, session:player:didSaveData:, setAccessibilityBrailleMapRenderRegion:, setAccessibilityBrailleMapRenderer:. 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.

I coded the app on a PC in Visual Studio Community 2019 v16.9.1. And built and deployed the app via Appcenter.ms.

Packages that I am using are:

  • Microsoft.AppCenter.Analytics v4.5.0
  • Microsoft.AppCenter.Crashes v4.5.0
  • Xamarin.Essentials v1.7.1
  • Xamarin.Forms v5.0.0.2337

Target Framework: .NET Standard 2.0

Information that I have confirmed from other sources:

  • Build Configuration: Release
  • Linker Behavior: Link Framework SDKs Only
  • Additional mtouch arguments: --linkskip=[selectors]
  • Additional mtouch arguments: --linkplatform

I have found all of the non-public selectors in xamarin/xamarin-macios and xamarin/apple-api-docs but I have not been able to find out how to fix the errors.

Thanks

Edit: I was not able to fix the issue. Instead, I got a Mac VM and was able to publish the code that way.

CodePudding user response:

Add --linkplatform to the Additional mmp arguments.

CodePudding user response:

Try add --linksdkonly to the Additional mtouch arguments on the iOS Build settings page

Refer from:https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/linker?tabs=macos#link-sdk-assemblies-only

CodePudding user response:

i had the same problem and i fix it by selecting (release | iphone) in the build options before archiving for publishing

CodePudding user response:

if you can find the solution, please share me too. i face the same issue

  • Related