Ios 10.2 and lower versions not working with Ionic 4

I am using ionic v4 to develop an app for ios platform.

The app works smoothly in latest iOS versions all greater than 10.3
But while I run it on 10.2 or lower version, there are lots of UI glitches,
for example,

  1. Side Menu doesn’t work. content of side menu is invisible (even in the DOM) and it hangs my app.
  2. Ion-grid / ion-row / ion-col has major UI issues, it shows all content vertically.
  3. Dropdowns UI and I cant click on it.

Here is my Package.json
{
“name”: “ABC”,
“version”: “0.0.1”,
“author”: “Ionic Framework”,
“homepage”: “http://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”: “^7.2.13”,
@angular/common”: “~7.2.2”,
@angular/core”: “~7.2.2”,
@angular/forms”: “~7.2.2”,
@angular/http”: “~7.2.2”,
@angular/platform-browser”: “~7.2.2”,
@angular/platform-browser-dynamic”: “~7.2.2”,
@angular/router”: “~7.2.2”,
@ionic-native/android-permissions”: “^5.4.0”,
@ionic-native/core”: “^5.1.0”,
@ionic-native/device”: “^5.4.0”,
@ionic-native/diagnostic”: “^5.5.0”,
@ionic-native/local-notifications”: “^5.4.0”,
@ionic-native/network”: “^5.4.0”,
@ionic-native/splash-screen”: “5.0.0-beta.21”,
@ionic-native/status-bar”: “5.0.0-beta.21”,
@ionic-native/uid”: “^5.4.0”,
@ionic/angular”: “4.1.0”,
@ng-bootstrap/ng-bootstrap”: “^4.1.1”,
“angular-calendar”: “^0.26.11”,
“angular2-datetimepicker”: “^1.1.1”,
“angularx-flatpickr”: “^6.1.0”,
“animate.css”: “^3.7.0”,
“chart.js”: “^2.8.0”,
“cordova-android”: “7.1.4”,
“cordova-plugin-android-permissions”: “1.0.0”,
“cordova-plugin-badge”: “0.8.8”,
“cordova-plugin-device”: “^2.0.2”,
“cordova-plugin-ionic-keyboard”: “^2.1.3”,
“cordova-plugin-ionic-webview”: “^2.4.1”,
“cordova-plugin-local-notification”: “0.9.0-beta.2”,
“cordova-plugin-nano-sqlite”: “^1.7.0”,
“cordova-plugin-network-information”: “2.0.1”,
“cordova-plugin-splashscreen”: “^5.0.2”,
“cordova-plugin-statusbar”: “^2.4.2”,
“cordova-plugin-uid”: “1.3.0”,
“cordova-plugin-whitelist”: “^1.3.3”,
“cordova-sqlite-storage”: “3.1.0”,
“cordova.plugins.diagnostic”: “4.0.12”,
“core-js”: “^2.5.4”,
“date-fns”: “^1.30.1”,
“flatpickr”: “^4.5.7”,
“ionic”: “^4.12.0”,
“ionic-select-searchable”: “^2.10.0”,
“ionic-selectable”: “^4.4.0”,
“nano-sql”: “^1.8.3”,
“ng-circle-progress”: “^1.4.0”,
“ng2-charts”: “^1.6.0”,
“ngx-bootstrap”: “^3.3.0”,
“ngx-pagination”: “^3.2.1”,
“primeicons”: “^1.0.0”,
“primeng”: “^7.1.0”,
“rxjs”: “^6.3.3”,
“rxjs-compat”: “^6.4.0”,
“zone.js”: “~0.8.26”
},
“devDependencies”: {
@angular-devkit/architect”: “~0.11.4”,
@angular-devkit/build-angular”: “~0.11.4”,
@angular-devkit/core”: “^7.2.1”,
@angular-devkit/schematics”: “^7.2.1”,
@angular/cli”: “~7.1.4”,
@angular/compiler”: “7.2.13”,
@angular/compiler-cli”: “^7.2.1”,
@angular/language-service”: “~7.1.4”,
@ionic/angular-toolkit”: “~1.2.0”,
@ionic/lab”: “1.0.19”,
@types/jasmine”: “~2.8.8”,
@types/jasminewd2”: “~2.0.3”,
@types/node”: “^10.12.30”,
“codelyzer”: “~4.5.0”,
“jasmine-core”: “~2.99.1”,
“jasmine-spec-reporter”: “~4.2.1”,
“karma”: “~3.1.4”,
“karma-chrome-launcher”: “~2.2.0”,
“karma-coverage-istanbul-reporter”: “~2.0.1”,
“karma-jasmine”: “~1.1.2”,
“karma-jasmine-html-reporter”: “^0.2.2”,
“protractor”: “~5.4.0”,
“ts-node”: “~7.0.0”,
“tslint”: “~5.12.0”,
“typescript”: “~3.1.6”
},
“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”: {},
“cordova-plugin-local-notification”: {},
“cordova-plugin-network-information”: {},
“cordova-plugin-nano-sqlite”: {},
“cordova-plugin-dreamover-uid”: {},
“cordova-plugin-android-permissions”: {},
“cordova.plugins.diagnostic”: {
“ANDROID_SUPPORT_VERSION”: “28.+”
}
},
“platforms”: [
“ios”
]
}
}