Reputation: 2339
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:
Target Framework: .NET Standard 2.0
Information that I have confirmed from other sources:
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.
Upvotes: 0
Views: 2410
Reputation: 65
i had the same problem and i fix it by selecting (release | iphone) in the build options before archiving for publishing
Upvotes: 2
Reputation: 10068
Try add --linksdkonly to the Additional mtouch arguments on the iOS Build settings page
Refer from:https://learn.microsoft.com/en-us/xamarin/ios/deploy-test/linker?tabs=macos#link-sdk-assemblies-only
Upvotes: 0