Ionic App build failed on iOS. Firebase Use of undeclared identifier 'FIRInstanceID' - ios

So I have an Ionic App that uses the FCM (Firebase Cloud Messaging) plugin. I've managed to add the iOS platform by running cordova platform add ios and it adds the platform with no issues. However, when I try to run it on the simulator, it fails to build and it throws me this error.
This project is built by someone else and i'm simply trying to build the app for iOS devices. I hope someone would be able to help me on this.
package.json
"dependencies": {
"#angular/animations": "^11.2.9",
"#angular/common": "~10.0.0",
"#angular/core": "~10.0.0",
"#angular/forms": "~10.0.0",
"#angular/platform-browser": "~10.0.0",
"#angular/platform-browser-dynamic": "~10.0.0",
"#angular/router": "~10.0.0",
"#ionic-native/barcode-scanner": "^5.29.0",
"#ionic-native/camera-preview": "^5.21.6",
"#ionic-native/core": "^5.0.0",
"#ionic-native/fcm": "^5.29.0",
"#ionic-native/file": "^5.29.0",
"#ionic-native/file-chooser": "^5.30.0",
"#ionic-native/file-path": "^5.30.0",
"#ionic-native/file-transfer": "^5.30.0",
"#ionic-native/globalization": "^5.31.1",
"#ionic-native/network": "^5.31.1",
"#ionic-native/splash-screen": "^5.0.0",
"#ionic-native/status-bar": "^5.0.0",
"#ionic/angular": "^5.0.0",
"#rxjs/rx": "^4.1.0",
"cordova-android": "^8.1.0",
"cordova-browser": "6.0.0",
"cordova-ios": "^5.1.1",
"cordova-plugin-camera-preview": "^0.12.1",
"cordova-plugin-file": "^6.0.2",
"cordova-sqlite-storage": "^5.1.0",
"install": "^0.13.0",
"ion2-calendar": "https://github.com/shaneparsons/ion2-calendar#76ae1e241183500a377647b363c931a03aa50bca",
"ionic2-calendar": "^0.6.6",
"moment": "^2.29.1",
"ng-connection-service": "^1.0.4",
"ngx-connection-service": "^7.0.3",
"ngx-toastr": "^13.2.1",
"phonegap-plugin-barcodescanner": "^8.1.0",
"rxjs": "^6.5.5",
"rxjs-compat": "^6.6.7",
"tslib": "^2.0.0",
"zone.js": "~0.10.3"
},
"devDependencies": {
"#angular-devkit/build-angular": "~0.1000.0",
"#angular/cli": "10.0.8",
"#angular/compiler": "~10.0.0",
"#angular/compiler-cli": "~10.0.0",
"#angular/language-service": "~10.0.0",
"#ionic/angular-toolkit": "^2.3.0",
"#types/jasmine": "~3.5.0",
"#types/jasminewd2": "~2.0.3",
"#types/node": "^12.11.1",
"codelyzer": "^6.0.0",
"cordova-plugin-androidx-adapter": "^1.1.3",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-fcm-with-dependecy-updated": "^7.4.0",
"cordova-plugin-file-transfer": "^1.7.1",
"cordova-plugin-filechooser": "^1.2.0",
"cordova-plugin-filepath": "^1.5.8",
"cordova-plugin-globalization": "^1.11.0",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^4.2.1",
"cordova-plugin-network-information": "^2.0.2",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "^2.4.2",
"cordova-plugin-whitelist": "^1.3.4",
"jasmine-core": "~3.5.0",
"jasmine-spec-reporter": "~5.0.0",
"karma": "~5.0.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~3.0.2",
"karma-jasmine": "~3.3.0",
"karma-jasmine-html-reporter": "^1.5.0",
"protractor": "~7.0.0",
"ts-node": "~8.3.0",
"tslint": "~6.1.0",
"typescript": "~3.9.5"
},
"description": "An Ionic project",
"cordova": {
"plugins": {
"cordova-plugin-whitelist": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-device": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-ionic-webview": {
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
},
"cordova-plugin-ionic-keyboard": {},
"phonegap-plugin-barcodescanner": {
"ANDROID_SUPPORT_V4_VERSION": "27.+"
},
"cordova-plugin-camera-preview": {
"ANDROID_SUPPORT_LIBRARY_VERSION": "26+"
},
"cordova-plugin-file": {},
"cordova-sqlite-storage": {},
"cordova-plugin-fcm-with-dependecy-updated": {
"ANDROID_DEFAULT_NOTIFICATION_ICON": "#mipmap/ic_launcher",
"ANDROID_FCM_VERSION": "21.0.0",
"ANDROID_FIREBASE_BOM_VERSION": "26.0.0",
"ANDROID_GOOGLE_SERVICES_VERSION": "4.3.4",
"ANDROID_GRADLE_TOOLS_VERSION": "4.1.0"
},
"cordova-plugin-file-transfer": {},
"cordova-plugin-filechooser": {},
"cordova-plugin-filepath": {},
"cordova-plugin-globalization": {},
"cordova-plugin-network-information": {},
"cordova-plugin-androidx-adapter": {}
},
"platforms": [
"browser",
"android",
"ios"
]
}
<?xml version='1.0' encoding='utf-8'?>
...
<plugin name="cordova-plugin-whitelist" spec="1.3.3" />
<plugin name="cordova-plugin-statusbar" spec="2.4.2" />
<plugin name="cordova-plugin-device" spec="2.0.2" />
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="^4.0.0" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
<allow-navigation href="http://localhost:8100" sessionid="62158917" />
</widget>

Related

How do I know which plugin is using UIWebView?

When I execute grep -R UIWebView * in this directory:
Users/anonymous/Library/Developer/Xcode/Archives/2021-04-16/app name 4-16-21, 3.42 PM.xcarchive
I get the following results:
Binary file Products/Applications/app name.app/App Name matches
Binary file dSYMs/App Name.app.dSYM/Contents/Resources/DWARF/App Name matches
I'm not sure what that means...I received that from Apple support but how do I identify the plugin causing the issue?
When I run the same cmd from the following location:
Users/anonymous/project/app-name-v5/platforms/ios
Binary file build/emulator/Heathen Mingle.app.dSYM/Contents/Resources/DWARF/App Name matches
build/sharedpch/SharedPrecompiledHeaders/6177444177259162338/App Name-Prefix.pch.d: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWebView.h \
None of those are helping me identify which plugin has UIWebView included. My app keeps getting rejected by Apple for having UIWebView but I'm not sure which plugin still contains it.
"dependencies": {
"#angular/common": "~8.2.14",
"#angular/core": "~8.2.14",
"#angular/fire": "^5.4.2",
"#angular/forms": "~8.2.14",
"#angular/platform-browser": "~8.2.14",
"#angular/platform-browser-dynamic": "~8.2.14",
"#angular/router": "~8.2.14",
"#ionic-native/core": "^5.0.0",
"#ionic-native/diagnostic": "^5.26.0",
"#ionic-native/firebase-messaging": "^5.32.1",
"#ionic-native/geolocation": "^5.23.0",
"#ionic-native/image-picker": "^5.32.0",
"#ionic-native/in-app-browser": "^5.32.1",
"#ionic-native/in-app-purchase-2": "^5.32.1",
"#ionic-native/ionic-webview": "^5.22.0-beta-1",
"#ionic-native/splash-screen": "^5.32.0",
"#ionic-native/status-bar": "^5.32.0",
"#ionic/angular": "^5.0.0",
"#ionic/storage": "2.2.0",
"cc.fovea.cordova.purchase": "^10.1.1",
"cordova-android-support-gradle-release": "^3.0.1",
"cordova-ios": "^6.2.0",
"cordova-plugin-androidx": "^3.0.0",
"cordova-plugin-androidx-adapter": "^1.1.3",
"cordova-plugin-device": "^2.0.3",
"cordova-plugin-firebase-analytics": "^5.0.0",
"cordova-plugin-firebase-messaging": "^5.0.1",
"cordova-plugin-geolocation": "^4.1.0",
"cordova-plugin-inappbrowser": "^5.0.0",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^5.0.0",
"cordova-plugin-splashscreen": "^6.0.0",
"cordova-plugin-statusbar": "^2.4.3",
"cordova-plugin-telerik-imagepicker": "^2.3.6",
"cordova-plugin-whitelist": "^1.3.4",
"cordova-sqlite-storage": "^6.0.0",
"cordova-support-android-plugin": "^1.0.2",
"cordova-support-google-services": "^1.4.1",
"cordova.plugins.diagnostic": "^5.0.2",
"core-js": "^2.5.4",
"firebase": "^7.9.1",
"geofire": "^5.0.1",
"geofirex": "^0.1.0",
"ionicons": "^4.5.10-0",
"moment": "^2.24.0",
"rxjs": "~6.5.1",
"rxjs-compat": "^6.5.5",
"tslib": "^1.9.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"#angular-devkit/build-angular": "~0.803.20",
"#angular/cli": "~8.3.23",
"#angular/compiler": "~8.2.14",
"#angular/compiler-cli": "~8.2.14",
"#angular/language-service": "~8.2.14",
"#ionic/angular-toolkit": "^2.1.1",
"#types/jasmine": "~3.3.8",
"#types/jasminewd2": "~2.0.3",
"#types/node": "~8.9.4",
"codelyzer": "^5.0.0",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-splashscreen": "^6.0.0",
"cordova-plugin-statusbar": "^2.4.2",
"cordova-plugin-whitelist": "^1.3.3",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.0",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.4.3"
},
I've upgraded all of them and I've removed Google +
Check out Ionic's official blog post on the topic if you haven't already. It covers all the steps and notes which Cordova plugins may still trigger the rejection.
Some suggestions:
Firebase - consider migrating to Cap Community firebase plugins.
Nothing else stands out. Broadly speaking, review your plugin list - which ones interact with a WebView and/or the webview apis?

Ionic 3 - App stuck on splashscreen. Starts running once I make a change and refreshes while emulating (iOS)

Have an Ionic 3 app, that gets stuck on splash screen when I'm emulating on iOS. Funny thing, if I add a space to a ts file, it refreshes and starts working.
This is messing up my E2E testing with Appium, so I'm wondering if anyone has a better idea of what might be causing this behaviour.
I'm leaving here all package.json dependencies, in case that helps:
"dependencies": {
"#angular/animations": "^4.0.0",
"#angular/cdk": "^2.0.0-beta.12",
"#angular/common": "5.0.0",
"#angular/compiler": "5.0.0",
"#angular/compiler-cli": "5.0.0",
"#angular/core": "5.0.0",
"#angular/forms": "^5.0.0",
"#angular/http": "5.0.0",
"#angular/platform-browser": "5.0.0",
"#angular/platform-browser-dynamic": "5.0.0",
"#ionic-native/aes-256": "^4.20.0",
"#ionic-native/battery-status": "^4.9.0",
"#ionic-native/core": "^4.10.1",
"#ionic-native/device": "^4.17.0",
"#ionic-native/dialogs": "^4.9.0",
"#ionic-native/file": "^4.9.0",
"#ionic-native/file-chooser": "^4.10.0",
"#ionic-native/file-path": "^4.10.0",
"#ionic-native/file-transfer": "^4.20.0",
"#ionic-native/http": "^4.10.0",
"#ionic-native/insomnia": "^4.9.2",
"#ionic-native/keyboard": "^4.15.0",
"#ionic-native/local-notifications": "^4.9.0",
"#ionic-native/media": "^4.9.0",
"#ionic-native/network": "^4.17.0",
"#ionic-native/power-management": "^4.9.2",
"#ionic-native/pro": "^4.9.2",
"#ionic-native/screen-orientation": "^4.20.0",
"#ionic-native/splash-screen": "4.3.2",
"#ionic-native/status-bar": "4.3.2",
"#ionic/pro": "^2.0.3",
"#ionic/storage": "2.1.3",
"#types/crypto-js": "^3.1.43",
"awesome": "0.0.7",
"bootstrap": "^4.0.0-beta.2",
"cordova-ios": "5.0.0",
"cordova-plugin-advanced-http": "^1.11.1",
"cordova-plugin-android-permissions": "^1.0.0",
"cordova-plugin-background-upload": "^1.0.12",
"cordova-plugin-badge": "0.8.8",
"cordova-plugin-battery-status": "^2.0.2",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-dialogs": "^2.0.1",
"cordova-plugin-file": "^6.0.1",
"cordova-plugin-file-transfer": "^1.7.1",
"cordova-plugin-filechooser": "^1.2.0",
"cordova-plugin-filepath": "^1.5.1",
"cordova-plugin-insomnia": "^4.3.0",
"cordova-plugin-ionic": "^5.3.0",
"cordova-plugin-ionic-keyboard": "^2.1.3",
"cordova-plugin-ionic-webview": "^2.3.1",
"cordova-plugin-ios-camera-permissions": "^1.2.0",
"cordova-plugin-ios-disableshaketoedit": "^1.0.0",
"cordova-plugin-itunesfilesharing": "0.0.1",
"cordova-plugin-local-notification": "0.9.0-beta.2",
"cordova-plugin-media": "^5.0.2",
"cordova-plugin-network-information": "^2.0.1",
"cordova-plugin-powermanagement-orig": "^1.1.2",
"cordova-plugin-screen-orientation": "^3.0.1",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "^2.4.2",
"cordova-plugin-whitelist": "^1.3.3",
"crypto-js": "^3.1.9-1",
"es6-promise-plugin": "^4.2.2",
"font-awesome": "4.7.0",
"hammerjs": "^2.0.8",
"ionic-angular": "3.9.2",
"ionic-native-datepicker": "^1.0.5",
"ionicons": "3.0.0",
"ios-sim": "^8.0.2",
"jquery": "3.3.1",
"jwt-decode": "^2.2.0",
"ngx-dropdown-list": "^1.1.1",
"ngx-infinite-scroll": "^0.8.3",
"ngx-pagination": "^4.1.0",
"ngx-select-dropdown": "^1.0.1",
"node-sass": "4.9.0",
"rxjs": "5.5.2",
"sw-toolbox": "3.6.0",
"web-animations-js": "^2.3.1",
"zone.js": "0.8.18"
},
"devDependencies": {
"#angular/cli": "^1.5.0",
"#angular/router": "^4.4.6",
"#ionic/app-scripts": "^3.2.4",
"#types/jasmine": "^2.6.3",
"#wdio/appium-service": "^6.4.0",
"#wdio/cli": "^6.4.2",
"#wdio/local-runner": "^6.4.2",
"#wdio/mocha-framework": "^6.4.0",
"#wdio/selenium-standalone-service": "^6.4.0",
"#wdio/spec-reporter": "^6.4.0",
"#wdio/sync": "^6.4.0",
"appium": "^1.18.1",
"appium-doctor": "^1.15.3",
"chromedriver": "^84.0.1",
"ionic-mocks": "^0.13.0",
"jasmine-core": "^2.8.0",
"jasmine-spec-reporter": "^4.2.1",
"karma": "^1.7.1",
"karma-chrome-launcher": "^2.2.0",
"karma-cli": "^1.0.1",
"karma-coverage-istanbul-reporter": "^1.3.0",
"karma-jasmine": "^1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-junit-reporter": "^1.2.0",
"protractor": "^5.1.2",
"sass-loader": "^6.0.7",
"ts-node": "^3.3.0",
"tslint-eslint-rules": "^4.1.1",
"typescript": "^2.4.2",
"wdio-appium-service": "^0.2.3",
"wdio-chromedriver-service": "^6.0.3",
"wdio-jasmine-framework": "^0.3.8",
"wdio-mochawesome-reporter": "^4.0.0",
"wdio-spec-reporter": "^0.1.5",
"webdriverio": "^6.4.2",
"ws": "3.3.2"
},
BTW, already tried the following:
Removing platform and building again
ionic cordova platform rm ios
ionic cordova platform add ios#5.0.0
ionic cordova emulate ios -lc --target iPad--6th-generation-
When preparing/building I have a different issue:
ionic-app-script task: "build"
Error: Failed to transpile program
at new BuildError ([...]/node_modules/#ionic/app-scripts/dist/util/errors.js:16:28)
Ok, basically there was a conflict between Ionic and Appium dependencies.
Spent a few hours trying to crack that, but opted for moving appium implementation along with E2E tests to a separate folder.
Clean and rebuild
ionic clean
ionic build

Identify which plugin uses UIWebView

I have updated codorva-ios to ^5.1.1 and add following lines in config.xml, but still getting UIWebView warning;
<preference name="WKWebViewOnly" value="true" /> <feature name="CDVWKWebViewEngine"> <param name="ios-package" value="CDVWKWebViewEngine" /> </feature> <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
My plugins are
"dependencies": {
"#angular/common": "5.0.0",
"#angular/compiler": "5.0.0",
"#angular/compiler-cli": "5.0.0",
"#angular/core": "5.0.0",
"#angular/forms": "5.0.0",
"#angular/http": "5.0.0",
"#angular/platform-browser": "5.0.0",
"#angular/platform-browser-dynamic": "5.0.0",
"#ionic-native/camera": "^4.7.0",
"#ionic-native/core": "4.3.2",
"#ionic-native/crop": "^4.7.0",
"#ionic-native/file": "^4.7.0",
"#ionic-native/file-transfer": "^4.7.0",
"#ionic-native/fingerprint-aio": "4.4.0",
"#ionic-native/firebase": "^4.12.0",
"#ionic-native/geolocation": "^4.7.0",
"#ionic-native/in-app-browser": "^4.20.0",
"#ionic-native/keyboard": "^4.7.0",
"#ionic-native/network": "^4.7.0",
"#ionic-native/photo-viewer": "^4.7.0",
"#ionic-native/screen-orientation": "4.20.0",
"#ionic-native/social-sharing": "^4.7.0",
"#ionic-native/splash-screen": "4.3.2",
"#ionic-native/sqlite": "^4.12.2",
"#ionic-native/sqlite-porter": "^4.12.2",
"#ionic-native/status-bar": "4.3.2",
"#ionic-native/unique-device-id": "^4.12.0",
"#ionic/storage": "2.1.3",
"#types/moment-timezone": "^0.5.13",
"angularfire2": "^5.0.0-rc.11",
"chart.js": "^2.7.2",
"com-sarriaroman-photoviewer": "^1.2.5",
"cordova-android": "^6.3.0",
"cordova-ios": "^5.1.1",
"cordova-plugin-add-swift-support": "^2.0.2",
"cordova-plugin-camera": "^4.1.0",
"cordova-plugin-crop": "^0.4.0",
"cordova-plugin-device": "^1.1.7",
"cordova-plugin-file": "^6.0.2",
"cordova-plugin-file-transfer": "^1.7.1",
"cordova-plugin-fingerprint-aio": "^2.0.0",
"cordova-plugin-firebase": "^1.1.4",
"cordova-plugin-geolocation": "^4.0.2",
"cordova-plugin-inappbrowser": "^4.0.0",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^5.0.0",
"cordova-plugin-network-information": "^2.0.2",
"cordova-plugin-screen-orientation": "^2.0.2",
"cordova-plugin-splashscreen": "^4.1.0",
"cordova-plugin-statusbar": "^2.4.3",
"cordova-plugin-touch-id": "^3.4.0",
"cordova-plugin-uniquedeviceid": "^1.3.2",
"cordova-plugin-whitelist": "^1.3.4",
"cordova-plugin-x-socialsharing": "^5.6.8",
"cordova-sqlite-storage": "^2.6.0",
"cordova-windows": "4.4.2",
"es6-promise-plugin": "^4.2.2",
"firebase": "^5.4.1",
"intl": "^1.2.5",
"ionic-angular": "3.9.2",
"ionic-plugin-keyboard": "^2.2.1",
"ionic2-calendar": "^0.4.4",
"ionic2-rating": "^1.2.2",
"ionicons": "3.0.0",
"jquery": "^3.3.1",
"moment": "^2.22.1",
"moment-timezone": "^0.5.17",
"ng2-appinsights": "^1.0.0-beta.1",
"ng2-charts": "^1.6.0",
"ngx-webstorage": "^2.0.1",
"rxjs": "^6.0.0",
"rxjs-compat": "^6.2.2",
"sw-toolbox": "3.6.0",
"uk.co.workingedge.cordova.plugin.sqliteporter": "^1.1.1",
"zone.js": "0.8.18"
},
"devDependencies": {
"#ionic/app-scripts": "3.1.0"
},
I have updated InAppBrowser plugin. Can anybody tell me which plugin/version using UIWebView and how I resolve it?
Please specify the plugin name which is creating problem and from which version I can replace to fix this problem.

Ionic Cordova phonegap-plugin-push did work on IOS but stopped recently with 'kill() returned unexpected error 1'

I have added phonegap-plugin-push plugin to an ionic 4.10.2 about two months ago,
it worked and I left the project alone for a while,
now when I recompile it (I don't have the working version anymore) it doesn't work.
The only notable difference since then is the console messages:
kill() returned unexpected error 1
as I have read they have to do with WKWebview and it was never been fixed,
but no one have ever mentioned it has anything to do with push notifications
I also get PushPlugin skip badge
I don't see any version changes in package.json that could indicate a change in versions of plugins.
{
"name": "*******",
"version": "0.0.1",
"author": "Ionic Framework",
"homepage": "https://ionicframework.com/",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"#angular/animations": "^8.2.13",
"#angular/cdk": "^8.2.3",
"#angular/common": "~8.1.2",
"#angular/core": "~8.1.2",
"#angular/forms": "~8.1.2",
"#angular/material": "^8.2.3",
"#angular/platform-browser": "~8.1.2",
"#angular/platform-browser-dynamic": "~8.1.2",
"#angular/router": "~8.1.2",
"#ionic-native/call-number": "^5.18.0",
"#ionic-native/camera": "^5.17.0",
"#ionic-native/core": "^5.0.0",
"#ionic-native/launch-navigator": "^5.17.0",
"#ionic-native/push": "^5.19.1",
"#ionic-native/splash-screen": "^5.0.0",
"#ionic-native/status-bar": "^5.0.0",
"#ionic/angular": "^4.7.1",
"#ionic/storage": "^2.2.0",
"angular2-moment": "^1.9.0",
"angular2-signaturepad": "^2.9.0",
"call-number": "^1.0.1",
"cordova-android": "8.1.0",
"cordova-ios": "4.5.5",
"cordova-plugin-actionsheet": "^2.3.3",
"cordova-plugin-camera": "^4.1.0",
"cordova-plugin-dialogs": "^2.0.2",
"cordova-plugin-ionic-keyboard": "^2.0.5",
"cordova-plugin-ionic-webview": "^4.0.0",
"cordova-plugin-splashscreen": "5.0.2",
"cordova-plugin-statusbar": "2.4.2",
"cordova-plugin-whitelist": "1.3.3",
"cordova-sqlite-storage": "^3.4.0",
"cordova-support-google-services": "^1.3.2",
"core-js": "^2.5.4",
"es6-promise-plugin": "^4.2.2",
"hammerjs": "^2.0.8",
"mx.ferreyra.callnumber": "0.0.2",
"phonegap-plugin-multidex": "^1.0.0",
"phonegap-plugin-push": "2.3.0",
"rxjs": "~6.5.1",
"tslib": "^1.9.0",
"uk.co.workingedge.phonegap.plugin.launchnavigator": "^5.0.4",
"zone.js": "~0.9.1"
},
"devDependencies": {
"#angular-devkit/architect": "~0.801.2",
"#angular-devkit/build-angular": "~0.801.2",
"#angular-devkit/core": "~8.1.2",
"#angular-devkit/schematics": "~8.1.2",
"#angular/cli": "~8.1.2",
"#angular/compiler": "~8.1.2",
"#angular/compiler-cli": "~8.1.2",
"#angular/language-service": "~8.1.2",
"#ionic/angular-toolkit": "~2.0.0",
"#types/jasmine": "~3.3.8",
"#types/jasminewd2": "~2.0.3",
"#types/node": "~8.9.4",
"codelyzer": "^5.0.0",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^4.1.3",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "^2.4.2",
"cordova-plugin-whitelist": "^1.3.3",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.0",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.4.3"
},
"description": "An Ionic project",
"cordova": {
"plugins": {
"cordova-plugin-whitelist": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-ionic-webview": {
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
},
"cordova-plugin-ionic-keyboard": {},
"cordova-sqlite-storage": {},
"cordova-plugin-camera": {
"ANDROID_SUPPORT_V4_VERSION": "27.+"
},
"uk.co.workingedge.phonegap.plugin.launchnavigator": {
"GOOGLE_API_KEY_FOR_ANDROID": "1234",
"OKHTTP_VERSION": "3.+"
},
"mx.ferreyra.callnumber": {},
"call-number": {},
"phonegap-plugin-push": {}
},
"platforms": [
"android",
"ios"
]
}
}
nothing have change with Firebase and Provisioning files either.
any ideas? did it happen to anyone else recently? or is it just a coincidence and I should put more effort in searching the problem elsewhere

Ionic keyboard overlay content

I have a question when I click to input, keyboard open and overlay bottom of the content. Earlier I had used ionic-plugins-keyboard, but after entering ios12 this plugin doesn't want work.
"dependencies": {
"cordova-android": "^7.1.1",
"cordova-custom-config": "^5.0.2",
"cordova-ios": "^4.5.5",
"cordova-plugin-actionsheet": "~2.3.3",
"cordova-plugin-app-version": "git+https://github.com/whiteoctober/cordova-plugin-app-version.git",
"cordova-plugin-camera": "~2.3.0",
"cordova-plugin-console": "~1.1.0",
"cordova-plugin-crosswalk-webview": "^2.3.0",
"cordova-plugin-datepicker": "~0.9.3",
"cordova-plugin-device": "~1.1.3",
"cordova-plugin-facebook4": "~1.7.4",
"cordova-plugin-file-transfer": "~1.6.0",
"cordova-plugin-geolocation": "~4.0.1",
"cordova-plugin-googleplus": "git+https://github.com/EddyVerbruggen/cordova-plugin-googleplus.git",
"cordova-plugin-inappbrowser": "~2.0.2",
"cordova-plugin-inapppurchase": "~1.1.0",
"cordova-plugin-ionic-keyboard": "^2.1.3",
"cordova-plugin-ionic-webview": "^2.2.0",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "git+https://github.com/apache/cordova-plugin-statusbar.git",
"cordova-plugin-toast": "~1.0.1",
"cordova-plugin-whitelist": "~1.3.0",
"cordova-plugin-x-socialsharing": "~5.3.2",
"gulp-angular-templatecache": "^2.2.0",
"gulp-html-minifier": "^0.1.8",
"gulp-htmlmin": "^4.0.0",
"lodash._escapehtmlchar": "^2.4.1",
"lodash.defaults": "^4.2.0",
"phonegap-plugin-push": "~2.2.3"
},
"devDependencies": {
"#ionic/cli-plugin-gulp": "1.0.2",
"#ionic/cli-plugin-ionic1": "2.0.1",
"bower": "^1.3.3",
"del": "^2.2.0",
"gulp": "^3.9.1",
"gulp-concat": "^2.6.0",
"gulp-if": "^2.0.0",
"gulp-imagemin": "^4.1.0",
"gulp-inject": "^3.0.0",
"gulp-jscs": "^3.0.2",
"gulp-jshint": "^2.0.0",
"gulp-load-plugins": "^1.1.0",
"gulp-minify-css": "^0.3.13",
"gulp-print": "^2.0.1",
"gulp-rename": "^1.2.2",
"gulp-sass": "^2.1.1",
"gulp-tsc": "^1.1.4",
"gulp-util": "^2.2.14",
"jshint": "^2.8.0",
"jshint-stylish": "^2.1.0",
"jspm": "^0.16.46",
"shelljs": "^0.3.0",
"wiredep": "^2.2.2",
"yargs": "^3.31.0"
}
This issues on ios 11 and ios 12, earlier versions I was not checked.
I found the problem, this happened because ion-content position: absolute, I fixed it by position: relative.

Resources