hong developer
hong developer

Reputation: 13906

ITMS-90809: Deprecated API Usage — Apple will stop accepting submissions of apps that use UIWebView APIs When upload myApp

I tried to upload the app to the App Store, but there was a problem. I received an email telling me not to use UIWebView and was rejected.

App Store Connect Dear Developer,

We identified one or more issues with a recent delivery for your app, "gamemain" 1.0.0 (1). Your delivery was successful, but you may wish to correct the following issues in your next delivery:

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.

Best regards,

The App Store Team

But I don't use UIWebView and I only use WKWebView. So I did a full search to see if the library is using it. But nothing was searched. What's the problem?

Search results for shift + command + F

enter image description here

Web View Usage Classes

import Foundation
import UIKit
import WebKit
import Toaster
import StoreKit
import MobileCoreServices
import Alamofire

class kWebViewController: UIViewController, WKUIDelegate, WKScriptMessageHandler, UIImagePickerControllerDelegate, UINavigationControllerDelegate,  NASWallDelegate, SKProductsRequestDelegate {

 @IBOutlet weak var indicator: UIImageView!
    @IBOutlet var kWebView: WKWebView!

podfile

# Uncomment the next line to define a global platform for your project
platform :ios, '12.0'

target 'gamemain' do
    # Comment the next line if you don't want to use dynamic frameworks
     use_frameworks!

    # Pods for DeleteMe
    pod 'SwiftSVG', '~> 2.0'
    pod 'Toaster'
    pod 'BigInt', '~> 4.0'
    pod 'CryptoSwift'
    pod 'RealmSwift'
    pod 'web3.swift.pod', '~> 2.2.0'
    pod 'Firebase'
    pod 'Firebase/Messaging'
    pod 'Firebase/Auth'
    pod 'Firebase/Core'
    pod 'Alamofire', '~> 4.8.2'
end

get

enter image description here

I'm sure you'll solve this problem.

Upvotes: 13

Views: 10993

Answers (4)

Mina Gerges
Mina Gerges

Reputation: 329

I did grep -r "uiwebview" . command and it shows many files as shown in attached image .

For the pods in the end I know I should update them but what about the files in my project however I am sure I don't have uiwebview in my project at allenter image description here.

Upvotes: 0

Aminjoni Abdullozoda
Aminjoni Abdullozoda

Reputation: 61

I found the issue by following these steps

  • 🔍 Open ios project on Xcode and searching UIWebView.
  • 👀It's shown on the result which dependency is using UIWebView.
  • 🆕Then try to update your dependency.
  • Make sure new dependency is not using UIWebView following 1st step 🔍.

For my case this library using UIWebView flutter_facebook_login: ^2.0.1 and replaced flutter_facebook_auth: ^0.2.3

I hope it helps!

Upvotes: 0

saminath krisna
saminath krisna

Reputation: 1

In mac, this command worked for me

sudo grep -wil -r “uiwebview” .

You can go to your project folder and run the above mentioned command. It'll list down all the files which are using UIWebview

Upvotes: 0

Buntylm
Buntylm

Reputation: 7373

Apple recently introduced a new App Submission warning ITMS - 90809 stating that we are formally deprecating UIWebView. If your application code or any framework still contains the reference for UIWebView for sure you will be get warned.  

WKWebView is the replacement for UIWebView and I believe soon Apple will start rejecting the apps who still use UIWebView. So be ready for this.  

By executing the below terminal command you can easily get to know which library is still using UIWebView reference (don't miss the . (dot)).

$ grep -r "UIWebView" .

Output for framework match

./<ANY>.framework/Headers/ANY.h:#define ANYUseUIWebView ANY_NAME_PASTE(ANY_PREFIX_NAME, ANYUseUIWebView)

 Output for library match

Binary file ./<FRAMEWORK-NAME>.framework/<LIB-FILE>.a matches

If you see some matches it means it time to upgrade these libraries.

I hope it helps. Cheers

EDIT

Update from Apple

The App Store will no longer accept new apps using UIWebView as of 
April 2020 and app updates using UIWebView as of December 2020.

Reference: https://developer.apple.com/news/?id=12232019b

Upvotes: 31

Related Questions