Ionic keyboard overlay content - ios

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.

Related

React native upgrade to .69 from .64

I had to update to the most recent version of react native for my project. But no matter what iu do I can't get this error to go away on IOS ONLY. Android works fine even though this error is mostly reported as a android issue.
ERROR Invariant Violation: new NativeEventEmitter() requires a non-null argument.
I have updated every package that is possible cleared all caches etc etc.
Here is the package list.
"dependencies": {
"#babel/preset-env": "^7.1.6",
"#freakycoder/react-native-helpers": "^1.0.2",
"#react-native-async-storage/async-storage": "^1.17.8",
"#react-native-community/clipboard": "^1.5.1",
"#react-native-community/masked-view": "^0.1.11",
"#react-native-community/push-notification-ios": "^1.10.1",
"#react-native-community/toolbar-android": "git+https://github.com/react-native-toolbar-android/toolbar-android.git#master",
"#react-native-picker/picker": "^2.4.3",
"#react-navigation/bottom-tabs": "^6.3.2",
"#react-navigation/elements": "^1.3.4",
"#react-navigation/routers": "^6.1.1",
"#react-navigation/stack": "^6.2.2",
"#rneui/base": "^4.0.0-rc.6",
"#rneui/themed": "^4.0.0-rc.6",
"#sentry/react-native": "^5.0.0-alpha.1",
"#sergiorj/react-native-snap-carousel": "^4.0.1",
"axios": "^0.27.2",
"babel-preset-react-native": "^4.0.1",
"date-fns": "^2.29.1",
"fs": "0.0.1-security",
"gulp": "^4.0.2",
"gulp-clean": "^0.4.0",
"gulp-rename": "^2.0.0",
"gulp-sym": "^1.0.2",
"lodash": "^4.17.20",
"main": "^1000.0.1",
"os": "^0.1.2",
"path": "^0.12.7",
"react": "18.0.0",
"react-addons-shallow-compare": "^15.6.3",
"react-native": "0.69.3",
"react-native-awesome-alerts": "^2.0.0",
"react-native-camera": "^4.2.1",
"react-native-charts-wrapper": "^0.5.9",
"react-native-clean-project": "^4.0.1",
"react-native-codegen": "^0.71.0",
"react-native-config": "^1.4.6",
"react-native-copilot": "^2.5.1",
"react-native-crypto": "^2.2.0",
"react-native-datepicker": "^1.7.2",
"react-native-default-preference": "^1.4.4",
"react-native-device-info": "^10.0.2",
"react-native-dotenv": "^3.3.1",
"react-native-dynamic-vector-icons": "^1.2.0",
"react-native-fast-image": "^8.5.11",
"react-native-geolocation-service": "^5.3.0",
"react-native-get-random-values": "^1.8.0",
"react-native-image-slider-box": "^1.1.24",
"react-native-improved-text-input": "0.0.1",
"react-native-inappbrowser-reborn": "^3.7.0",
"react-native-maps": "^1.2.0",
"react-native-modal": "^13.0.1",
"react-native-permissions": "^3.6.0",
"react-native-push-notification": "^8.1.1",
"react-native-qrcode-scanner": "^1.5.5",
"react-native-randombytes": "^3.6.1",
"react-native-reanimated": "^2.9.1",
"react-native-safe-area-context": "^4.3.1",
"react-native-screens": "^3.15.0",
"react-native-shared-preferences": "^1.0.2",
"react-native-spinkit": "^1.5.1",
"react-native-splash-screen": "^3.3.0",
"react-native-svg": "^12.4.3",
"react-native-swipe-gestures": "git+https://github.com/wymsee/react-native-swipe-gestures.git#master",
"react-native-tracking-transparency": "^0.1.1",
"react-native-url-polyfill": "^1.3.0",
"react-native-vector-icons": "^9.2.0",
"react-native-webview": "^11.23.0",
"react-style-proptype": "^3.2.2",
"typescript": "^4.7.4",
"uuid": "^7.0.3"
},
"devDependencies": {
"#babel/core": "^7.18.10",
"#babel/runtime": "^7.18.9",
"#react-native-community/eslint-config": "^2.0.0",
"#react-navigation/native": "^6.0.11",
"babel-jest": "^26.6.3",
"babel-plugin-module-resolver": "^4.1.0",
"deprecated-react-native-prop-types": "^2.3.0",
"eslint": "^7.32.0",
"jest": "^26.6.3",
"metro-react-native-babel-preset": "^0.70.3",
"patch-package": "^6.4.7",
"platform": "^1.3.5",
"prettier": "2.4.1",
"prop-types": "^15.8.1",
"react-native-gesture-handler": "^2.5.0",
"react-test-renderer": "18.0.0",
"shelljs": "^0.8.5",
"yargs": "^17.5.1"
},
"jest": {
"preset": "react-native"
}

Rails 6 [Webpacker] Compiling... takes longs time in development enviroment

Webpacker (5.1.1) with Rails 6.1.4 takes a long time while compiling css and js files for existing project and extremely very slow.
[Web packer] Compiling...
Environments: Ruby 2.7.2, Node(v14.15.5), NPM 6.14.11 and yarn 1.22.4
This happens once there is no problem, i.e. when the server starts and initiating the first request.
The problem is, it starts compiling whenever I change the code in js or css and takes again the same time around 4/5 minutes.
I think compiling everything instead of the modified file.
I also tried live reloading ./bin/webpack-dev-server, It also produced the same result.
After doing Google, I tried a few steps below but to no avail
rm -rf node_modules rake assets:clobber yarn install
Did I miss any configuration/package related to compilation. package.json file looks like:
{
"private": true,
"dependencies": {
"#babel/core": "^7.4.5",
"#babel/plugin-proposal-class-properties": "^7.4.4",
"#babel/plugin-proposal-object-rest-spread": "^7.4.4",
"#babel/plugin-proposal-optional-chaining": "^7.7.4",
"#babel/plugin-syntax-dynamic-import": "^7.2.0",
"#babel/polyfill": "^7.4.4",
"#babel/preset-env": "^7.4.5",
"#babel/preset-react": "^7.0.0",
"#rails/webpacker": "^5.1.1",
"#ttskch/select2-bootstrap4-theme": "^1.3.4",
"autosuggest-highlight": "^3.1.1",
"axios": "^0.18.0",
"babel-eslint": "^8.2.3",
"babel-loader": "^8.1.0",
"babel-plugin-module-resolver": "^3.1.1",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"bootstrap": "4.1.3",
"classnames": "^2.2.6",
"clipboard": "^2.0.6",
"date-arithmetic": "^4.0.1",
"dom-helpers": "^3.4.0",
"dotdotdot-js": "^4.0.9",
"easyzoom": "^2.5.2",
"eslint": "^4.19.1",
"eslint-config-airbnb": "^16.1.0",
"eslint-plugin-babel": "^5.1.0",
"eslint-plugin-import": "^2.12.0",
"eslint-plugin-jsx-a11y": "^6.0.3",
"eslint-plugin-react": "^7.9.1",
"expose-loader": "^0.7.5",
"extract-text-webpack-plugin": "^3.0.2",
"fast-deep-equal": "^2.0.1",
"font-awesome": "^4.7.0",
"formik": "^1.5.0",
"hard-source-webpack-plugin": "^0.13.1",
"history": "^4.9.0",
"immutability-helper": "^2.7.0",
"jquery": "^3.3.1",
"jquery-bar-rating": "^1.2.2",
"jquery-countdown": "^2.2.0",
"jquery-ui": "^1.12.1",
"libphonenumber-js": "^1.7.8",
"lodash": "^4.17.11",
"moment": "^2.22.2",
"moment-locales-webpack-plugin": "^1.0.7",
"moment-timezone": "^0.5.23",
"moment-timezone-data-webpack-plugin": "^1.0.3",
"odometer": "^0.4.8",
"pc-bootstrap4-datetimepicker": "^4.17.50",
"popper": "^1.0.1",
"postcss-cssnext": "^3.1.0",
"prop-types": "^15.6.1",
"rails-erb-loader": "^5.5.2",
"rails-ujs": "^5.2.4-2",
"rc-time-picker": "3.4.0",
"react": "^16.8.6",
"react-actioncable-provider": "^1.0.3",
"react-autosuggest": "^9.3.4",
"react-copy-to-clipboard": "^5.0.2",
"react-cropper": "^1.2.0",
"react-custom-scrollbars": "git://github.com/sivakovigor/react-custom-scrollbars.git",
"react-dates": "git://github.com/ihar-lapitski/react-dates.git#feature/change-month-on-date-change",
"react-dom": "^16.8.6",
"react-dotdotdot": "^1.2.3",
"react-dropzone": "^10.1.4",
"react-facebook-login": "^4.0.1",
"react-geosuggest": "^2.12.0",
"react-google-maps": "^9.4.5",
"react-helmet": "^5.2.1",
"react-image-magnify": "^2.7.4",
"react-lazyload": "^2.5.0",
"react-loader-spinner": "^2.2.0",
"react-overlays": "^1.2.0",
"react-paginate": "^6.0.0",
"react-places-autocomplete": "^7.2.0",
"react-player": "^1.7.1",
"react-rating": "^1.6.2",
"react-redux": "^5.0.7",
"react-rnd": "^9.0.4",
"react-router-dom": "^5.0.0",
"react-select": "^2.4.2",
"react-slick": "^0.23.1",
"react-text-mask": "^5.4.3",
"react-textarea-autosize": "^7.1.0",
"react-to-print": "^2.4.0",
"react-toastify": "^5.0.0",
"react-transition-group": "^2.5.0",
"react-validation": "^3.0.7",
"reactstrap": "^8.0.0",
"recompose": "^0.27.1",
"redux": "^4.0.0",
"redux-thunk": "^2.3.0",
"reselect": "^4.0.0",
"scroll": "^2.0.3",
"scroll-doc": "^0.2.1",
"select2": "^4.0.6-rc.1",
"slick-carousel": "^1.8.1",
"startbootstrap-sb-admin": "^4.0.0",
"turbolinks": "^5.2.0",
"uncontrollable": "^7.0.0",
"url-search-params-polyfill": "^5.0.0",
"validator": "^10.6.0",
"vanilla-lazyload": "^12.0.0",
"webp-loader": "^0.4.0",
"webpack-bundle-analyzer": "^3.8.0",
"webpack-cli": "^4.9.1",
"webpack-dev-server": "^3.11.0",
"webpack-merge": "^4.2.2",
"whatwg-fetch": "^3.0.0",
"yup": "^0.27.0"
},
"devDependencies": {
"#babel/plugin-transform-runtime": "^7.16.4"
}
}
Thanks.

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

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>

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

Resources