ITMS-90809: Deprecated API Usage — Apple will stop accepting submissions of apps that use UIWebView APIs When upload myApp
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
hong developer
Updated on June 10, 2022Comments
-
hong developer almost 2 years
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 useWKWebView
. 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
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
I'm sure you'll solve this problem.
-
Patrick Cavanagh over 4 yearsWhat's your source on the April 2020 deadline for completely replacing UIWebview?
-
Buntylm over 4 years@PatrickCavanagh I came to know when I asked this question to one of the apple engineer and now I feel it doesn't make sense to write it as deadline so I edited the answer. Thanks for you comment.
-
Buntylm over 4 years@PatrickCavanagh it's official now developer.apple.com/news/?id=12232019b