-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[Xamarin.iOS] ITMS-90338: Non-public API usage #10517
Comments
Hi @ashaarmsm, The first message indicates that you are using Apple private APIs, which is not allowed. Are you by any chance using App Center Test Cloud? A couple of these APIs look like they might be used by automated UI testing. This described that: https://docs.microsoft.com/en-us/appcenter/test-cloud/uitest/get-started-xamarin-forms#ios-application-project
You basically need 4 ingredients for UIWebView removal:
This all assumes that you do not reference UIWebView or WebViewRenderer yourself. If all this doesn't work, then you are most likely referencing a NuGet or other plugin that still has a reference. Make sure you update all of those. |
I have the exact same issue and have done all the steps you mentioned, still getting rejection from AppStore. I don't use any App center test cloud, and I am one Xamarin form 4.5.0.657 |
@xiufengpeng What is the “exact same issue”? Can you post the contents of the message you got from Apple here? |
Make sure you are not setting the mtouch and linker behavior in Debug, and are actually doing it in Release mode... |
@jfversluis i did your guide to fix it but still not working. this issue is driving me crazy. It seems like other nugets have the UIWebView implement, i did the documentation steps and apple is still rejecting me the app. i´ve been searching where i have implemented UIWebView and i notice that for example Xamarin.Auth is implementing it. i also read this post: |
I'm sorry about that @Luismimultimedia If you're using Xamarin.Auth you probably want to transition to Xamarin.Essentials for that now. They have the WebAuthenticator now that should do everything you need. Could you list the rest of the NuGets and versions that you have installed? Or could you try this suggestion and post the results here? |
Since we haven't heard from you in more than 30 days, we hope this issue is no longer affecting you. If it is, please reopen this issue and provide the requested information so that we can look into it further. Thank you! |
Description
My app is getting rejected by apple due to following issues. I did the changes as highlighted here but still no luck. Can you please help me to fix.
ITMS-90338: Non-public API usage - The app references non-public selectors in yusnapPlus.iOS: applicationWillTerminate, localTarget, newSocketQueueForConnectionFromAddress:onSocket:, setButtonsView:, setDoubleTapGestureRecognizer:, setGrid:, setOrientation:animated:, setTextLabel:, socket:didConnectToHost:port:, socket:didReadPartialDataOfLength:tag:, socket:didReceiveTrust:completionHandler:, socket:didWritePartialDataOfLength:tag:, socket:shouldTimeoutReadWithTag:elapsed:bytesDone:, socket:shouldTimeoutWriteWithTag:elapsed:bytesDone:, socketDidCloseReadStream:, socketDidSecure:, terminateWithSuccess. 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/
Though you are not required to fix the following issues, we wanted to make you aware of them:
ITMS-90809: Deprecated API Usage - Apple will no longer accept submissions of new apps that use UIWebView as of April 30, 2020 and app updates that use UIWebView as of December 2020. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).
The text was updated successfully, but these errors were encountered: