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
opened 10:02AM - 04 Oct 19 UTC
help wanted
iOS
It looks like the plugin is causing a warning from Apple about the UIWebView API… usage:
ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs .
issue is just for cordova-ios, I used version `https://github.com/apache/cordova-ios/pull/663` to remove UIWebView. When pushing an app without the googleplus plugin, there is no warning. Warning when adding plugin.
So this plugin will also need an update to remove UIWebView code.
Will this be removed from future versions of the plugin?
Any quick way to remove it when building the binary?
opened 02:19PM - 09 Jun 20 UTC
I'm using Cordova to build iOS apps. When I'm uploading a build to AppStoreConne… ct, I'm getting the well known deprecation message:
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).
The plugin is using UIWebView.
Please update the plugin removing all UIWebView usage and using WKWebView.
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?
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.
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