Closed adirgan1 closed 4 years ago
This not related to this plugin. See also this post: https://ionicframework.com/blog/understanding-itms-90809-uiwebview-api-deprecation/
@adirgan1 This plugin works with both UIWebView and WKWebView at this time.
But choosing which one is depends on your cordova-ios
version.
In order to support both, this plugin uses reflection (kind of like pointer technique), it means this plugin does not include UIWebView code itself. I think the warning coming from other plugin.
Perfect, I close the problem for the successful answer
Question: in which version were the UIWebView references removed? I'm updating an old codebase, having this info would help me a lot. Thanks!
Please use v2.7.1 or the code of he multiple_maps branch
Please use v2.7.1 or the code of he multiple_maps branch
I upgraded (and deleted the platform and reinstalled it). I'm pretty familiar with this kind of upgrades (so cordova-ios 5.1.1 + the flags in confix.xml + all the fixed versions of the plugins I use [cordova-plugin-ionic-webview + cordova-plugin-facebook4], and this one was the only one specific to this project).
I'm still getting rejected for ITMS-90809 ...
I grepped -r my platforms/ios directory, and the only thing that seems odd is that the ./com.googlemaps.ios/Maps/Frameworks/GoogleMaps.framework/GoogleMaps
binary file matches.
Not sure why, as there's no version specified anywhere (as far as I know). And it's not in the platforms/ios/Podfile
.
--
UPDATE #1:
I ran pod repo-update
in platforms/ios/, and reran pod setup
in project root to no avail.
This plugin goes back to com.googlemaps.ios
instead of cocoa pod
, because many people fails to use cocoapod.
$ cordova platform rm ios
$ cordova plugin rm cordova-plugin-googlemaps
$ npm uninstall cordova-plugin-googlemaps
$ cordova plugin list
(confirm you uninstall the plugin completely)
$ cordova plugin add github.com/mapsplugin/cordova-plugin-googlemaps#multiple_maps
Even if does not work, please share your project files on github (and please create new issue instead of closed issue thread)
@wf9a5m75 Thanks a bunch for your willingness to help. I'm pretty sure now it's not specifically related to this plugin (although I still don't know where it comes from), but I'll update this issue with my findings just in case it could help anyone else. And if it has something to do with this plugin, I'll create another reply and tag you if it's minor, or another issue if it's major. Thanks again!
P.S.: I did the platform + plugin rm and add with specific version numbers at the start of the process. Like I said, not my first ITMS-90809 upgrade rodeo ;-) -- my sixth actually
@wf9a5m75 Ok, this is somehow related to this plugin. I tried many many things to no avail.
Then, I just I removed this plugin, and it passed ITMS-90809. I'm puzzled. In part because I couldn't find any reference to UIWebView in 2.7.1. Added it again, not passing. Really scratching my brain. If you have any idea, please let me know.
You'll find the info you asked for below.
List of platforms and plugins with a similar app that is passing 👍 ITMS-90809:
Installed platforms:
android 6.4.0
browser 5.0.3
ios 5.1.1
Installed plugins:
cordova-plugin-actionsheet 2.3.3 "ActionSheet"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-background-geolocation 3.1.0 "CDVBackgroundGeolocation"
cordova-plugin-camera 2.4.1 "Camera"
cordova-plugin-device 2.0.3 "Device"
cordova-plugin-facebook4 6.4.0 "Facebook Connect"
cordova-plugin-file 6.0.2 "File" --- difference here
cordova-plugin-geolocation 4.0.2 "Geolocation"
cordova-plugin-globalization 1.0.9 "Globalization" --- difference here
cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 1.2.1 "cordova-plugin-ionic-webview"
cordova-plugin-ios-non-exempt-encryption 1.0.0 "ITSAppUsesNonExemptEncryption false"
cordova-plugin-localization-strings 2.0.0 "Localization"
cordova-plugin-media-capture 3.0.2 "Capture"
cordova-plugin-statusbar 2.4.1 "StatusBar"
cordova-plugin-whitelist 1.3.2 "Whitelist"
cordova-support-google-services 1.3.2 "cordova-support-google-services"
cordova.plugins.diagnostic 5.0.1 "Diagnostic"
ionic-plugin-deeplinks 1.0.15 "Ionic Deeplink Plugin"
phonegap-plugin-multidex 1.0.0 "Multidex"
phonegap-plugin-push 2.3.0 "PushPlugin"
cordova-plugin-nativepagetransitions 0.6.6 "Native Page Transitions"
cordova-plugin-network-information 1.3.4 "Network Information"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-taptic-engine 2.1.0 "Taptic Engine"
cordova-plugin-webviewcolor 2.0.0 "WebView background color plugin"
cordova-plugin-x-toast 2.6.0 "Toast"
cordova-sqlite-ext 0.10.7 "Cordova sqlite storage plugin with extra features"
es6-promise-plugin 4.1.0 "Promise"
phonegap-plugin-mobile-accessibility 1.0.5-dev "Mobile Accessibility"
List of platforms and plugins with this app is passing not 👎 passing ITMS-90809:
Installed platforms:
android 6.4.0
browser 5.0.3
ios 5.1.1
com.googlemaps.ios 2.6.0 "Google Maps SDK for iOS" --- difference here
cordova-plugin-actionsheet 2.3.3 "ActionSheet"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-background-geolocation 3.1.0 "CDVBackgroundGeolocation"
cordova-plugin-camera 4.0.2 "Camera"
cordova-plugin-contacts 3.0.1 "Contacts"
cordova-plugin-device 2.0.3 "Device"
cordova-plugin-facebook4 6.4.0 "Facebook Connect"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-geolocation 4.0.2 "Geolocation"
cordova-plugin-globalization 1.11.0 "Globalization"
cordova-plugin-googlemaps 2.7.1 "cordova-plugin-googlemaps" --- not present in the working version of the same project above, that's the only difference
cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 1.2.1 "cordova-plugin-ionic-webview"
cordova-plugin-ios-non-exempt-encryption 1.0.0 "ITSAppUsesNonExemptEncryption false"
cordova-plugin-localization-strings 2.0.0 "Localization"
cordova-plugin-media-capture 3.0.2 "Capture" | g
cordova-plugin-spinner-dialog 1.3.1 "SpinnerDialog"
cordova-plugin-statusbar 2.4.1 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-support-google-services 1.4.1 "cordova-support-google-services"
cordova.plugins.diagnostic 5.0.1 "Diagnostic"
ionic-plugin-deeplinks 1.0.15 "Ionic Deeplink Plugin"
phonegap-plugin-multidex 1.0.0 "Multidex"
phonegap-plugin-push 2.3.0 "PushPlugin"
And with the config just above, after running npm run cordova plugin rm cordova-plugin-googlemaps
* and building and pushing to the iTunesStore = no ITMS-90809 notice, app is available on TestFlight within 10 minutes.
** The npm run cordova
part is because each of my cordova environment run the cordova tool localy. They both run the same version, which is 7.1.0.
The only command I ran between Itunes accepted (after the plugin rm) and the Itunes refused becaused of ITMS-90809 is npm run cordova plugin add cordova-plugin-googlemaps@2.7.1
(and npm run cordova prepare ios
and then archive and upload in Xcode as usual).
Really scratching my head on this one.
@wf9a5m75 Let me know if you have any idea about what it could be or new things to try; If not I'll open a new bug end of day (Eastern Time) tomorrow with all the info above.
Sadly, this app update can't go live without this plugin or an equivalent, and I don't know of any equivalent.
I think this com.googlemaps.ios 2.6.0
is old
By the way, did you see this comment?
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/2684#issuecomment-534172542
@wf9a5m75 Yes, I did look at the guide. And you were correct, I needed to update com.googlemaps.io to 3.9.0.
I'm guessing that removing cordova-plugin-googlemaps prevented com.googlemaps.ios to be linked in the IPA event if it was still present.
So yeah, the fix for me was:
npm run cordova plugin rm cordova-plugin-googlemaps
npm run cordova plugin rm com.googlemaps.ios
npm run cordova plugin add com.googlemaps.ios@3.9.0
npm run cordova plugin rm cordova-plugin-googlemaps@2.7.1
Thanks for your help!
I'm submitting a ... (check one with "x")
OS: (check one with "x")
cordova information: (run
$> cordova plugin list
)at.gofg.sportscomputer.powermanagement 1.1.2 "PowerManagement" cordova-custom-config 5.1.0 "cordova-custom-config" cordova-plugin-add-swift-support 2.0.2 "AddSwiftSupport" cordova-plugin-background-fetch 5.6.0 "CDVBackgroundFetch" cordova-plugin-background-mode 0.7.3 "BackgroundMode" cordova-plugin-background-mode-bluetooth-central 1.0.0 "Bluetooth Central Background Mode" cordova-plugin-background-mode-bluetooth-peripheral 1.0.0 "Bluetooth Peripheral Background Mode" cordova-plugin-badge 0.8.8 "Badge" cordova-plugin-bluetooth-peripheral-usage-description 1.0.0 "Bluetooth Peripheral Usage Description" cordova-plugin-bluetoothle 4.5.5 "Bluetooth LE" cordova-plugin-contacts 3.0.1 "Contacts" cordova-plugin-device 2.0.3 "Device" cordova-plugin-file 6.0.2 "File" cordova-plugin-file-transfer 1.7.1 "File Transfer" cordova-plugin-fingerprint-aio 2.0.0 "FingerprintAllInOne" cordova-plugin-googlemaps 2.6.3-20190808-1526 "cordova-plugin-googlemaps" cordova-plugin-inappbrowser 3.1.0 "InAppBrowser" cordova-plugin-ionic-keyboard 2.1.3 "cordova-plugin-ionic-keyboard" cordova-plugin-ionic-webview 4.1.1 "cordova-plugin-ionic-webview" cordova-plugin-nativestorage 2.3.2 "NativeStorage" cordova-plugin-screen-orientation 3.0.2 "Screen Orientation" cordova-plugin-splashscreen 5.0.2 "Splashscreen" cordova-plugin-statusbar 2.4.2 "StatusBar" cordova-plugin-taptic-engine 2.1.0 "Taptic Engine" cordova-plugin-timer 1.0.1 "Native timer" cordova-plugin-vibration 3.1.1 "Vibration" cordova-plugin-whitelist 1.3.3 "Whitelist" cordova-sqlite-storage 3.2.1 "Cordova sqlite storage plugin - cordova-sqlite-storage plugin version" cordova.plugins.diagnostic 5.0.0 "Diagnostic" es6-promise-plugin 4.2.2 "Promise" mx.ferreyra.callnumber 0.0.2 "Cordova Call Number Plugin" onesignal-cordova-plugin 2.5.2 "OneSignal Push Notifications"
If you use
@ionic-native/google-maps
, please tell the package.json (only@ionic-native/core
and@ionic-native/google-maps
are fine mostly)"cordova-plugin-googlemaps": "git+https://github.com/mapsplugin/cordova-plugin-googlemaps.git#multiple_maps",
Current behavior:
The UIWebView is deprecated, and I look in the repository of https://github.com/mapsplugin/cordova-plugin-googlemaps.git#multiple_maps and have references to UIWebView, you have to remove those references to avoid problems with AppStor
Expected behavior:
When uploading the Build to AppStore Connect you should not display the UIWebView Usage Warning
Related code, data or error log (please format your code or data):
Dear Developer,
We identified one or more issues with a recent delivery for your app, "App" 1.0.3 (1.0.3). 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
Support this plugin activity
I appreicate if you give me a beer :beer: from here