-
Notifications
You must be signed in to change notification settings - Fork 630
-
Notifications
You must be signed in to change notification settings - Fork 630
Depreciated UIWebView APIs error from Apple #649
Comments
I could not see any code involving UIWebView with this plugin (refer the source code at src/ios). Should be some other plugin that is causing this issue, like inappbrowser |
@bhatiaravi I can confirm I'm seeing the same issue as @ngocnguyenvan26 |
@EddyVerbruggen Seems that ios pod dependencies needs to be updated. Similar issue is in firebase/FirebaseUI-iOS#771 |
@megaza That probably means this bit needs to be updated and tested: cordova-plugin-googleplus/plugin.xml Lines 109 to 112 in f02d3f7
Does anyone perhaps feel like taking a stab at it? :) |
@EddyVerbruggen Google introduced API changes in GoogleSignIn, requires code changes (someone of your side should do that). In addition there is a popup message on login "App Wants to Use google.com to Sign In - This allows the app and website to share information about you." Is there any additional validation or configuration needed to remove the popup message? |
This project is open source, so anyone can change the could. Doesn't have to be anyone from "my side" (aka me). I don't think you can get rid of that popup btw, but you might want to Google it, because it's not specific to this plugin: any native app that wants to open a browser will prompt the user AFAIK. |
@EddyVerbruggen Yes, but I think that it is not something that community should wait for, as Apple is rejecting builds and hot fix is quickly needed. Attached you can find the patch file (Apple approved the release): Everything seems to work fine, but please double check and apply the patch (without my PR). |
I'd be happy to help (and appreciate the patch!), but as I'm currently in the middle of moving to a new house I have 0 time. |
#671, thanks, @megaza |
Thanks for doing this @leogoesger . Is this likely to be merged soon? Pretty please 🙏🏻 |
@doginthehat no problem, I have been using my fork. It works pretty well. |
@leogoesger I've tried your fork and there's a compilation error in the google plus update branch |
@leogoesger I've added a fix suggestion in your PR code |
I'm using 8.4.0 and Apple still complains about UIWebView. Pods in this version:
|
I updated the cordova-plugin-googleplus from 8.2.0 to 8.4.0, removed plugins and ios platform, and reinstalled ios platform … now I’m getting the following three build failures:
Clearly the problem is, even after I Found it, |
iOS build is failed, when I'm using 8.4.0. |
@EddyVerbruggen HELP I still have this issue Nov 2020, UIWebView Deprecations. Using latest version 8.5.1 I am not able to upload my app to Store |
@tomavic It is probably related to some other plugin where it is using UIWebView API. Search for "UIWebView" or "UIDelegate" with Xcode thru the project and upgrade the matching plugin to a newer version where it is not using deprecated API. |
@megaza Hey I run I am using cordova 9, cordova-ios 5.1.1, I tried to build with cordova-ios@6 as well |
I am using both this and facebook4 plugin and no complaints from Apple. cordova-ios 6.1.1. Relevant part from config.xml:
|
This really driving me crazy for over a week. Here is what I found when I search for here is my environment
|
Search for a string isn't a good method (and never was), because of conditional compilation (as you can see on your own screen) |
Guess what I am using latest version of this plugin including cordova 9 and cordova-ios 6. But my App is keep getting rejected for the same reason. |
The real problem is, I have to submit the APP to the store and increasing the build number so that I can wait to see if Apple is going to send a rejection email or not! It's disappointing and I don't know what to try else! |
@tomavic as mentioned above, do you have this in your config.xml ? The code in your own screenshot has a conditional code which depends on this preference. |
@faugusztin Hey buddy, Yes I have added the following inside
|
It's working fine. That config is enough. Update to newest version of cordova-ios and just wipe and recreate your platforms and plugins folders. |
@sebastian-zarzycki-es I've updated my environment to latest and it failed because of : this issue
|
I think this has to do in some of your dependencies using uiwebview still. Had a rough time finding which lib was it. In my case it was the old firebase push notif lib, i had to use the latest one which is firebaseX |
Um, ok? Not sure how this is relevant :) Obviously, you need to be rather up to date with all your cordova plugins, to avoid all webview calls across the whole project. All I'm saying is that I've successfully pushed out an update a month ago, with this plugin. Plus firebaseX. Plus facebook. Plus Apple sign in plugins. Plus a bunch of other ones, having uiwebview calls in the past. No complaints from Apple - so it's definitely possible with current state of things. |
@sebastian-zarzycki-es Yes, "the current state of things" is that I am using Ionic 3 and I have to update to latest to take advantage of all new features and avoid plugins mismatch as much as possible. I've might try Capacitor with Ionic 3, to avoid rewrite of most parts of the code. Thanks for your support. |
I did it with Ionic 3. |
@sebastian-zarzycki-es Hello Can you please contact me so that I can get use of your experiment at least with iOS part and how you bypassed it? |
Hi @tomavic,
My config.xml for iOS is like this: <preference name="pods_use_frameworks" value="true" />
<pod name="GoogleSignIn" version="5.0.2" />
<pod name="GoogleUtilities" version="6.4.0" />
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" /> I hope it helps you. |
I will try it for the last time . Thanks for help @taisatk |
I had the same issue with Apple UIWebView. I (finally) solved in a way similar to @taisatk .
Check the versions of the dependencies in your Podfile
then run |
I have the preferences for the WKWebView under the I had to remove the old cordova-plugin-googleplus and then re-add to the project (v8.5.1 -> then Maybe another plugin (or pod dependencies of your plugins)? Check the sources of the cordova plugins, then in their dependencies. I found the UIWebView by searching in the command line |
In my case, I started removing suspect plugins (based on the search results for UIWebView like @fabripeco suggested) until I got the approval. I then realized that removing both cordova-plugin-facebook4 and cordova-plugin-googleplus, installing cordova-plugin-wkwebview-engine and properly configuring its preferences fixed the issue, and I was able to get the approval. I even tested adding those plugins back again singly to confirm they both had problems.
I'm using cordova 8.1.2. |
@taisatk @fabripeco Hi guys I have applied what you have suggested, Here is the current status Now I am sure that Ionic runs app in WKWebView Also I got rid of facebook4 plugin and updated google-plus plugin to 8.5.1
and here is my
and my cordova-ios 5.1.1 and Cordova 9 THE BUILT is SUCCESSFULL !! and Here is the previous builds too and yet nothing is uploaded as I got a rejection email I desperately don't know what to do |
Something strange in the plugin versions you've listed.
You have to remove the plugins from the project, then re-add it with the right version. Check the versions in package.json (and config.xml if you have the plugins listed also there), then double-check the versions in the node_modules/ and in the plugins/ folder . Use 5.0.0 for cordova-plugin-ionic-webview.
|
Hi @tomavic. Have your app been approved after the removal of both Facebook and Google Plus plugins? If you don't try it, you'll never know whether other plugins are problematic or not. |
@taisatk Hello For firebase, I am using firebaseX but with For Social Sharing, Facebook I have removed them totally from code. I kept google-plus@8.5.1 Please note that this process is really boring because I am using One Signal :( Which requires me every time to setup the plugin in a native way as their documentations describes and it's a hecking long process. That's why I've been trying without it. I am afraid if I uploaded the app and got accepted initially, then get rejected because its functionality is not complete yet :D I started a side project using Capacitor and Ionic latest, and the process seems not fine too. It's my first time and my app need a large effort to convert it. I don't feel that Capacitor is good choice too. I don't know what to do. |
@fabripeco Here is my updated plugin list
|
@tomavic I've just added cordova-plugin-firebasex@3.0.8 into my project and got the rejection message from Apple after uploading the package to App Store Connect. So, your problem regards FirebaseX plugin version. I suggest you to try a newer version of it and make the required code changes according to this information about Ionic v3 support, including accessing the plugin directly, as the Ionic Native wrapper doesn't support it. Here is an example app in Ionic v3 using FirebaseX that could be used as a reference. |
I had the exact same issue and I've upgraded all of my plugins but now the ios build is failing with the following:
"private": true, I've uninstalled and re-installed ios several times to no avail. Any help would greatly be appreciated. |
@DuaneQ hi I ended up refactoring my code, upgrading to ionic 5 and angular 11. No issues at all, build for ios 5.1.1 and for android 9 Using cordova 9 |
It's been 2 years and this issue is still open? |
I ended up refactoring my code, upgrading to ionic 5 and angular 11. No issues at all, build for ios 5.1.1 and for android 9 Using cordova 9 and now it's accepted by apple and google |
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?
The text was updated successfully, but these errors were encountered: