2
votes

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

enter image description here

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

enter image description here

Thank you!

4
UIWebView Deprecation and Xamarin.Forms : devblogs.microsoft.com/xamarin/…SushiHangover
Can you please post your info.plist file? It looks like that the error is not with the WebView, but instead with improper plist config. Look at the first line - Failed to parse PList data typeMihail Duchev
Thanks @MihailDuchev for your time. My app rejected with ITMS-90809 error from the apple. I following the instruction and now i get this error before publish. I edit my answer with info.plist.G.Mich
Hmm, that's strange. I don't see anything wrong with the plist file. Is there any change that you have some reference to UIWebView in your code - like some kind of WebViewRenderer?Mihail Duchev
@MihailDuchev i dont use the UIWebView control in my app. Some pages uses the Xamarin.Essentials to open the browser.G.Mich

4 Answers

2
votes

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.

1
votes

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.

1
votes

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...

1
votes

Adding --optimize=force-rejected-types-removal in mtouch arguments works. I have submitted to TestFlight and I did not get email about UIWebView removal.

enter image description here