Problem: When swiping through the map and/or quickly zooming out at the same time, the app crashes. The app is built with Ionic 5/Angular and the map comes from mapboxgl. This happens to the installed App on both Android and iOS, but not when debugging in the browser. When debugging with XCode on my device (iPhone 8, iOS 13.3.1) I could not find an error message (other than: [Process] kill() returned unexpected error 1 , which I think is related to a bug with WKWebview, but not to this problem, since this also happens on Android).
Here are the installed dependencies and cordova plugins:
“dependencies”: {
“@agm/core”: “^1.1.0”,
“@angular/animations”: “^8.2.14”,
“@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/background-geolocation”: “^5.22.0”,
“@ionic-native/core”: “^5.22.0”,
“@ionic-native/diagnostic”: “^5.22.0”,
“@ionic-native/geolocation”: “^5.22.0”,
“@ionic-native/google-maps”: “^5.5.0”,
“@ionic-native/http”: “^5.22.0”,
“@ionic-native/ionic-webview”: “^5.22.0”,
“@ionic-native/keyboard”: “^5.22.0”,
“@ionic-native/splash-screen”: “^5.22.0”,
“@ionic-native/status-bar”: “^5.22.0”,
“@ionic-native/vibration”: “^5.22.0”,
“@ionic/angular”: “^5.0.4”,
“@mauron85/cordova-plugin-background-geolocation”: “^3.1.0”,
“@ngx-translate/core”: “^12.1.2”,
“@ngx-translate/http-loader”: “^4.0.0”,
“@turf/along”: “^6.0.1”,
“@turf/bearing”: “^6.0.1”,
“@turf/circle”: “^6.0.1”,
“@turf/destination”: “^6.0.1”,
“@turf/distance”: “^6.0.1”,
“@turf/helpers”: “^6.1.4”,
“@turf/invariant”: “^6.1.2”,
“@turf/length”: “^6.0.2”,
“@turf/line-intersect”: “^6.0.2”,
“@turf/meta”: “^6.0.2”,
“@turf/nearest-point-on-line”: “^6.0.2”,
“@types/mapbox-gl”: “^1.8.0”,
“cordova-android”: “8.1.0”,
“cordova-ios”: “^5.1.1”,
“cordova-js”: “^5.0.0”,
“cordova-plugin-advanced-http”: “^2.4.1”,
“cordova-plugin-file”: “^6.0.2”,
“cordova-plugin-geolocation”: “^4.0.2”,
“cordova-plugin-ionic-webview”: “^4.1.0”,
“cordova-plugin-vibration”: “^3.1.1”,
“cordova.plugins.diagnostic”: “^5.0.1”,
“core-js”: “^2.6.11”,
“firebase”: “^7.9.3”,
“geofirex”: “^0.1.0”,
“geojson-rbush”: “^3.1.2”,
“hammerjs”: “^2.0.8”,
“lodash.debounce”: “^4.0.8”,
“mapbox-gl”: “^1.8.1”,
“moment”: “^2.24.0”,
“node-sass”: “^4.13.1”,
“rxjs”: “^6.5.4”,
“tslib”: “^1.11.1”,
“zone.js”: “~0.9.1”
},
“devDependencies”: {
“@angular-devkit/architect”: “~0.801.2”,
“@angular-devkit/build-angular”: “^0.803.25”,
“@angular-devkit/core”: “~8.1.2”,
“@angular-devkit/schematics”: “~8.1.2”,
“@angular/cli”: “^8.3.25”,
“@angular/compiler”: “^8.2.14”,
“@angular/compiler-cli”: “^8.2.14”,
“@angular/language-service”: “^8.2.14”,
“@ionic/angular-toolkit”: “~2.0.0”,
“@types/jasmine”: “~3.3.8”,
“@types/jasminewd2”: “~2.0.3”,
“@types/node”: “~8.9.4”,
“codelyzer”: “^5.2.1”,
“cordova-plugin-device”: “^2.0.3”,
“cordova-plugin-ionic-keyboard”: “^2.2.0”,
“cordova-plugin-splashscreen”: “^5.0.3”,
“cordova-plugin-statusbar”: “^2.4.3”,
“cordova-plugin-whitelist”: “^1.3.4”,
“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.5.2”,
“protractor”: “^5.4.3”,
“ts-node”: “~7.0.0”,
“tslint”: “~5.15.0”,
“typescript”: “~3.5.3”
},
“cordova”: {
“plugins”: {
“cordova-plugin-geolocation”: {},
“cordova-plugin-whitelist”: {},
“cordova-plugin-statusbar”: {},
“cordova-plugin-device”: {},
“cordova-plugin-splashscreen”: {},
“cordova-plugin-ionic-keyboard”: {},
“cordova.plugins.diagnostic”: {},
“cordova-plugin-advanced-http”: {},
“cordova-plugin-vibration”: {},
“cordova-plugin-background-geolocation”: {
“ALWAYS_USAGE_DESCRIPTION”: “This app always requires location tracking”,
“MOTION_USAGE_DESCRIPTION”: “This app requires motion detection”
},
“cordova-plugin-ionic-webview”: {
“ANDROID_SUPPORT_ANNOTATIONS_VERSION”: “27.+”
}
},
}
Plugins in config.xml: