Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to find UIWebView in Project and replace it with WKWebView?

We got this email from [email protected] while uploading a build:

We identified one or more issues with a recent delivery for your app, "App Name" 1.0 (5.0). Please correct the following issues, then upload again.

ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).

Best regards,

The App Store Team

I've not used UIWebView in my project. I've updated all pods. I searched word 'UIWebView' in the workspace, but nothing was found. I also searched in the terminal using grep -r -f "UIWebView"., getting grep: UIWebView.: No such file or directory.

What should I do before uploading a new build?

like image 252
Akshay Phulare Avatar asked May 02 '20 14:05

Akshay Phulare


People also ask

What is the difference between UIWebView and WKWebView?

Unlike UIWebView, which does not support server authentication challenges, WKWebView does. In practical terms, this means that when using WKWebView, you can enter site credentials for password-protected websites.

How do I migrate to WKWebView?

You can implement WKWebView in Objective-C, here is simple example to initiate a WKWebView : WKWebViewConfiguration *theConfiguration = [[WKWebViewConfiguration alloc] init]; WKWebView *webView = [[WKWebView alloc] initWithFrame:self. view. frame configuration:theConfiguration]; webView.

Is UIWebView deprecated?

As of iOS 12.0, 'UIWebView' has been explicitly marked as deprecated. Apple is encouraging developers to adopt WKWebView instead, which was introduced in iOS 8.0.

How do I remove UIWebView from pod?

Try to do the follows: Add new row and set a key and value in your info. plist to use WKWebView instead of UIWebView.


1 Answers

I solved a similar problem as follows:

  1. Search in the workspace UIWebView and replace it with WKWebView

  2. Remove UIWebView in the storyboards and add "WKWebView" instead (do not forget about the connection with the code)

  3. In the terminal, in the project folder, enter the command:

    grep -r "UIWebView" .

    (don't forget the space and the dot at the end of command!) to find links to UIWebView in library files.

  4. Update the libraries with UIWebView, and if it does not help, then delete all libraries that have links to UIWebView. (Most libraries with UIWebView have new updates without UIWebView.)

like image 99
Evgeny Lisin Avatar answered Sep 28 '22 09:09

Evgeny Lisin