1

To check whether any of packages refers to UIWebView, I used grep -r UIWebView . command on my project directory from mac terminal and found the following output.

Binary file ./[ProjectName]/[ProjectName].iOS/bin/iPhone/Release/Xamarin.Forms.Platform.iOS.dll matches
Binary file ./.vs/[ProjectName]/xs/sqlite3/storage.ide matches

I have already upgraded Xamarin.Forms version to 4.5.0.617, Xamarin.Forms.InputKit version is 3.2.2, Xamarin.iOS version is 13.16.0.13

And what is sqlite3/storage.ide file?

Jay Bhiyani
  • 313
  • 1
  • 4
  • 14
  • 1
    Which version of Xamarin.iOS are you using? Check the [document](https://learn.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/webview?tabs=windows#uiwebview-deprecation-and-app-store-rejection-itms-90809) for requirement. Also, have a look at [this thread](https://github.com/MicrosoftDocs/xamarin-docs/issues/2726#issuecomment-613375830) may help. – nevermore Apr 29 '20 at 07:49
  • Xamarin.iOS version 13.16.0.13 – Jay Bhiyani Apr 29 '20 at 07:58
  • Do you have any idea regarding sqlite3/storage.ide file matches issue? – Jay Bhiyani Apr 29 '20 at 09:28
  • No, I don't have any idea about sqlite3/storage.ide. – nevermore Apr 29 '20 at 09:40
  • @JayBhiyani did you ever find a solution to this? I have a similar issue - the only references GREP shows are in the storage.ide file and Xamarin.Forms.Platform.iOS. The latter which should be excluded from the build with my mtouch args: ```--optimize=experimental-xforms-product-type --warn-on-type-ref=UIKit.UIWebView``` I've meeting all the environment updates as well - need to get this app up to the store. My post is here: https://stackoverflow.com/questions/61783860/xamarin-ios-app-being-rejected-for-uiwebview-after-following-guide – Chet at C2IT May 14 '20 at 14:09
  • No I have not found any solution for this. And Mtouch command with Link All linker option can cause app crash while using on phone too. If any of the packages are used indirectly and are removed by Link All linker option. So be sure before using it. – Jay Bhiyani May 15 '20 at 11:27
  • You guys can open a free [Xamarin Support Ticket](https://support.microsoft.com/en-us/supportforbusiness/productselection?sapId=211dd84f-3474-c3c5-79bf-66db630c92a6) here for more help:). – nevermore May 20 '20 at 07:14

1 Answers1

1

Shortly after the introduction of iOS 13, Apple decided to send out warning messages about the UIWebView deprecation. The warning would read:

ITMS-90809: Deprecated API Usage – Apple will stop accepting submissions of apps that use UIWebView APIs. See https://developer.apple.com/documentation/uikit/uiwebview for more information. After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to App Store Connect.

So, basically, starting from April, you need to strip your project from referencing the old UIWebView.

You have done good to update to 4.5.0.617, but this is not enough for the fix. You need 2 more things:

  1. To have Linking set to SDK Only or All
  2. To add an additional mtouch argument --optimize=experimental-xforms-product-type

A detailed explanation from Microsoft can be found here.

You can read more about the storage.ide file here: What is the "storage.ide" file beneath my Visual Studio solution folder, and what is "persistent storage"?

Long story short - everything in the .vs folder should be excluded from source control and it won't affect the WebView warning.

Mihail Duchev
  • 4,691
  • 10
  • 25
  • 32
  • I have already tried Linking options and additional mtouch command you have mentioned. But it does not affect any of the files caught by `grep` command on terminal. The `grep` command still shows all the files as having reference to UIWebView. – Jay Bhiyani May 05 '20 at 04:38
  • And selecting **Link All** option with additional mtouch argument causes app crash due to some 3rd party NuGet packages (ex. UnityContainer) and the same works fine when I choose **Frameworks and SDKs Only** – Jay Bhiyani May 05 '20 at 04:52
  • This doesn't have to bother you. The important question here is - does Apple still present this warning, after you have changed the linking to `Frameworks & SDKs Only` and added the additional mtouch argument? I have run this grep command on my project and I also get this result, together with a couple more. However, when I try to upload the ipa file to iTunes connect, I am getting no warning messages. – Mihail Duchev May 05 '20 at 07:08
  • This did not work for me. Chet's answer worked --optimize=experimental-xforms-product-type --warn-on-type-ref=UIKit.UIWebView – Chris Parker Jun 06 '20 at 19:01
  • @ChrisParker His answer is basically the same. He is also telling you to add this parameter. The difference is that he's also adding a parameter to warn you if something is referencing it. – Mihail Duchev Jun 06 '20 at 19:59