Search code examples
iosswiftxcodeuiwebviewwkwebview

Apple won't accept my app even though I'm not using any UIWebView


I'm having a problem uploading my app to the AppStore. Apple says that I am using a deprecated API, UIWebView. But I checked my whole project and there is no UIWebView. Has anyone encountered this error? Thanks. Here's apple's message:

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 upload a new binary to App Store Connect.

Here's my pods:

pod 'Alamofire', '<= 4.8.0'
pod 'AlamofireObjectMapper', '<= 5.2.0'
pod 'SDWebImage', '<= 4.4.3'
pod 'ReachabilitySwift', '<= 4.3.0'
pod 'RealmSwift'
pod 'ValidationComponents', '~> 0.3.0'
pod 'Willow', '<= 5.1.0'
pod 'CountryPickerView', '<= 2.2.0'
pod 'PhoneNumberKit', '~> 2.6'
pod 'IQKeyboardManagerSwift'
pod 'SwiftKeychainWrapper', '<= 3.0.1'
pod 'Toast-Swift', '<= 4.0.1'
pod 'MBProgressHUD', '~> 1.1.0'
pod 'Mixpanel-swift', '~> 2.6.2'
pod 'ServiceSDK/Chat', '<= 218.0.0'
pod 'OneSignal', '>= 2.6.2', '<= 2.9.5'
pod 'DeviceKit'
pod 'SwiftLint', '<= 0.30.1'
pod 'AppCenter', '~> 2.0.1'

Solution

  • WKWebView is the replacement for UIWebView. If you don't have UIWebView usage in your code than by executing the below terminal command you can easily get to know that which library is still using UIWebView reference (don't miss the . (dot)).

    grep -r UIWebView /Path/To/Project/*
    

    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
    

    Update these Libraries

    also check out this article https://medium.com/@zivchen_42755/for-me-that-wasnt-enough-it-didn-t-found-all-of-them-thats-weird-something-to-do-with-pod-i-a068d55b7fab