IOS package error ITMS-90809 Deprecated API Usage

Apple reject my package with:

ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (UIWebView | Apple Developer Documentation).

I edited config.xml file:

<platform name="ios">
        <preference name="WKWebViewOnly" value="true" />
        <feature name="CDVWKWebViewEngine">
            <param name="ios-package" value="CDVWKWebViewEngine" />
        </feature>
        <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
        ....
</platform>

Rebuilt ios package but The error is notified by mail

ionic info

Ionic:

   Ionic CLI                     : 6.18.1 (/usr/local/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 6.7.4
   @angular-devkit/build-angular : 13.3.11
   @angular-devkit/schematics    : 12.2.18
   @angular/cli                  : 13.3.11
   @ionic/angular-toolkit        : 4.0.0

Cordova:

   Cordova CLI       : 11.0.0
   Cordova Platforms : ios 6.3.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 5.0.0, (and 16 other plugins)

Utility:

   cordova-res (update available: 0.15.4) : 0.15.3
   native-run                             : not installed globally

System:

   ios-deploy : 1.11.4
   ios-sim    : 8.0.2
   NodeJS     : v16.10.0 (/Users/lsantaniello/.nvm/versions/node/v16.10.0/bin/node)
   npm        : 7.24.0
   OS         : macOS
   Xcode      : Xcode 14.3 Build version 14E222b

Please help me

can you share the list of plugins and versions you are using? probably the problem comes from one of them

Thanks @julio-ionic for reply

This is my plugin list

cordova plugin list
cordova-launch-review 4.0.1 "Launch Review"
cordova-plugin-androidx-adapter 1.1.3 "cordova-plugin-androidx-adapter"
cordova-plugin-androidx 3.0.0 "cordova-plugin-androidx"
cordova-plugin-app-version 0.1.12 "AppVersion"
cordova-plugin-device 2.0.3 "Device"
cordova-plugin-facebook-connect 3.2.0 "Facebook Connect"
cordova-plugin-fcm-with-dependecy-updated 7.8.0 "Cordova FCM Push Plugin"
cordova-plugin-globalization 1.11.0 "Globalization"
cordova-plugin-google-analytics 1.9.1 "Google Universal Analytics Plugin"
cordova-plugin-googleplus 7.0.2 "Google SignIn"
cordova-plugin-inappbrowser 5.0.0 "InAppBrowser"
cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 5.0.0 "cordova-plugin-ionic-webview"
cordova-plugin-sign-in-with-apple 0.1.2 "cordova-plugin-sign-in-with-apple"
cordova-plugin-splashscreen 5.0.4 "Splashscreen"
cordova-plugin-statusbar 2.4.3 "StatusBar"
cordova-plugin-stripe 1.5.3 "cordova-plugin-stripe"
cordova-plugin-telerik-imagepicker 2.3.3 "ImagePicker"
cordova-plugin-whitelist 1.3.5 "Whitelist"
>> grep -lr "UIWebView" *
node_modules/cordova-plugin-googleplus/src/ios/libs/GoogleAuthUtilities.framework/Resources/GTMOAuth2ViewTouch.xib
node_modules/cordova-plugin-googleplus/src/ios/libs/GoogleAuthUtilities.framework/GoogleAuthUtilities
node_modules/cordova-plugin-googleplus/src/ios/libs/GoogleSignIn.framework/GoogleSignIn

Last plugin changed is cordova-plugin-googleplus 7.0.2 “Google SignIn”. Before the package was accepted.

yeah, it looks like the problem is that plugin

If it wasn’t complaining before you installed it, more reason to think that’s the problem

Thanks for reply but it is very complex for me.

I reinstalled latest version of plugin cordova-plugin-googleplus but it generate compilation error caused by missing dependencies and it is very complex to solve.

If I remove plugin, it compile, it build and Apple accept my package.

If I add plugin version 7.0.2, I can create package. I can upload on Apple Store Connect but the package is declared not valid.

How can I solve the issue?

:frowning:

moving to capacitor,
i honestly think that keeping cordova will give you problems and troubles.

it is old ionic5 app migrated to ionic6. I don’t have budget to migrate at capacitor. Then I don’t have knownledge for capacitor now. :frowning:

ionic cordova plugin add cordova-plugin-googleplus --save --variable REVERSED_CLIENT_ID=com.googleusercontent.apps.359711685148-xxxxxxxx --variable WEB_APPLICATION_CLIENT_ID=359711685148-xxxxxx.apps.googleusercontent.com

This is log:


> cordova plugin add cordova-plugin-googleplus --variable REVERSED_CLIENT_ID=com.googleusercontent.apps.359711685148-xxxxx --variable WEB_APPLICATION_CLIENT_ID=359711685148-xxxxx.apps.googleusercontent.com

Installing "cordova-plugin-googleplus" for ios

Running command: pod install --verbose

Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2

[!] Found multiple specifications for `GoogleSignIn (5.0.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/d/4/0/GoogleSignIn/5.0.2/GoogleSignIn.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/d/4/0/GoogleSignIn/5.0.2/GoogleSignIn.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.2.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.2.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.2.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.2.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

Failed to install 'cordova-plugin-googleplus': Error: pod: Command failed with exit code 1 Error output:

Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2

[!] Found multiple specifications for `GoogleSignIn (5.0.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/d/4/0/GoogleSignIn/5.0.2/GoogleSignIn.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/d/4/0/GoogleSignIn/5.0.2/GoogleSignIn.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.2.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.2.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.2.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.2.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

at ChildProcess.whenDone (/Users/Shared/projects/ionic5/gemar-app/node_modules/cordova-common/src/superspawn.js:136:25)

at ChildProcess.emit (node:events:390:28)

at maybeClose (node:internal/child_process:1064:16)

at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)

pod: Command failed with exit code 1 Error output:

Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2

[!] Found multiple specifications for `GoogleSignIn (5.0.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/d/4/0/GoogleSignIn/5.0.2/GoogleSignIn.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/d/4/0/GoogleSignIn/5.0.2/GoogleSignIn.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.2.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.2.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.2.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.2.2)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.2.2/GoogleUtilities.podspec.json

[!] Found multiple specifications for `GoogleUtilities (7.7.0)`:

- /Users/lsantaniello/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

- /Users/lsantaniello/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/7.7.0/GoogleUtilities.podspec.json

[**ERROR**] **An error occurred while running subprocess** **cordova****.**

cordova plugin add cordova-plugin-googleplus --variable REVERSED_CLIENT_ID=com.g... exited with exit code 1.

Re-running this command with the --verbose flag may provide more information.

I will pay for support. Please.

I don’t think updating cordova-plugin-googleplus will solve the issue, just doesn’t seem possible to use cordova-plugin-googleplus anymore, the plugin is deprecated and not maintained, so don’t use that functionality.

1 Like

Are there alternatives to use google login with ionic app?

yes, capacitor as I told you before: it’s a critical step but I think it’s the only way for keeping your app up t date with store requirements.

well, if you coded this app with cordova, capacitor is waaaaay easy to handle.

My suggestion is creating a new ionic 7 app and then, step by step, adding all the code & plugins you need.

ps: are you italian?

Yes. I’m italiano.

My app Is not compatibile with ionic 7. There are some components deprecated. Example Is ion-slides

Probabile, I Will use capacitor for next new app.

Thanks

considera che sostituire ion-slides con swiper ci vogliono 4 minuti d’orologio

1 Like