问题
Can i fix the following ?
My setup
Xamarin.iOS Version: 13.16.0.13 (Visual Studio Community)
Visual Studio Community 2019 for Mac Version 8.5.2 (build 13)
Xamarin.Forms 4.5.0.617
I follow the instruction here
https://docs.microsoft.com/en-gb/xamarin/xamarin-forms/user-interface/webview?tabs=macos#uiwebview-deprecation-and-app-store-rejection-itms-90809
and here
https://github.com/xamarin/Xamarin.Forms/issues/7323#issuecomment-542363338
to fix this problem
ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability.
but i get the following error on publish
Thank you!
回答1:
As Microsoft mentions in the Microsoft blog, this is fixed in Xamarin.Forms 4.6
Now in 4.6, we are updating the bindings to Google’s library. We have improved the styling support for things like, setting a button’s ‘Disabled’ text color. The latest library also removes the reference to Apple’s deprecated UIWebView.
So update your Xamarin.Forms to Version 4.6.
回答2:
This is not an answer, but I share my experience on this particular issue I also have. Maybe it would helps.
When pusblishing to Apple App Store Connect a new app after April 1st 2020, apple could reject your app if you are using UIWebView. Apps submitted before have warnings, but thoses app will not be submitable past December 2020.
My app is new and I publishing after April 1st. I had some hard time publishing this app using VS 2019 Mac and the archive process. I don't like it. You can have a green screen during publishing and see nothing on the appstoreconnect. This is because Apple reject your app. See your emails, you have :
ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability
I suggest to use a archive on your disk and use Transporter app to upload it. It has a log view and warns me about build number issue.
Back on my app, I try the mtouch argument --optimized trick but it doesn't work. I tried Don't link, Link SDK only, Link all to be sure. None worked. Apple keep saying I am using UIWebView. I check my code, I cannot see UIWebView anywhere.
So I wanted to try a fresh app from scratch using last version of Xamarin.Forms 4.6 and publish it. I had the same issue message by Apple. Then I add the --optimizer mtouch argument and publish it. Apple was satisfied. So this means that the "patch" is working.
So as my code doesn't have any UIWebView, I think this could be a tiers library... But how to find... I am try this https://levelup.gitconnected.com/how-to-find-and-remove-uiwebview-uses-in-your-ios-app-d9395f7baacc
The command gives me this :
FirebaseCore FirebaseCoreDiagnostics GTMSessionFetcher GoogleAPIClientForREST GoogleDataTransport GoogleDataTransportCCTSupport GoogleToolboxForMac GoogleUtilities PersonalizedAdConsent U _OBJC_CLASS_$_UIWebView leveldb libSkiaSharp nanopb protobuf
So I presume those libs are not "compatible"...?
I will update if I find something...
回答3:
I dont know why, but when i changed my app's version number and build number it's worked. Also i create a new app version on App Store Connect.
Same errors in this link helps me
https://forums.xamarin.com/discussion/172296/app-store-connect-application-loader-publishing-failed-failed-to-parse-altool-output
Is two different errors I believe. The first is from deprecated UIWebView and another error (publish error) showed up after the first rejection from apple.
Thanks.
来源:https://stackoverflow.com/questions/61613670/uiwebview-deprecation-and-app-store-rejection-on-xamarin-forms