UIWebView Deprecation and App Store Rejection on Xamarin Forms

北城以北 提交于 2021-02-15 05:17:56

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!