Keyboard not working in ios .. I'm very tired of this issue


#1

I have edited this post
keyboard not working in ios and can’t solve this issue
package.json

{
  "name": "Doctory",
  "version": "1.2.1",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build",
    "lint": "ionic-app-scripts lint",
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
  },
  "dependencies": {
    "@angular/common": "^5.2.11",
    "@angular/compiler": "^5.2.11",
    "@angular/compiler-cli": "^5.2.11",
    "@angular/core": "^5.2.11",
    "@angular/forms": "^5.2.11",
    "@angular/http": "^5.2.11",
    "@angular/platform-browser": "^5.2.11",
    "@angular/platform-browser-dynamic": "^5.2.11",
    "@ionic-native/call-number": "^4.17.0",
    "@ionic-native/core": "^4.17.0",
    "@ionic-native/device": "^4.17.0",
    "@ionic-native/facebook": "^4.17.0",
    "@ionic-native/geolocation": "^4.17.0",
    "@ionic-native/google-analytics": "^4.17.0",
    "@ionic-native/google-maps": "^4.15.1",
    "@ionic-native/keyboard": "^4.17.0",
    "@ionic-native/launch-navigator": "^4.17.0",
    "@ionic-native/onesignal": "^4.17.0",
    "@ionic-native/social-sharing": "^4.17.0",
    "@ionic-native/splash-screen": "^4.17.0",
    "@ionic-native/status-bar": "^4.17.0",
    "@ionic/pro": "^1.1.0",
    "@ionic/storage": "^2.2.0",
    "@ngx-translate/core": "^8.0.0",
    "@ngx-translate/http-loader": "^2.0.1",
    "@types/googlemaps": "^3.30.16",
    "call-number": "^1.0.1",
    "cordova-android": "^7.0.0",
    "cordova-android-play-services-gradle-release": "^1.4.6",
    "cordova-android-support-gradle-release": "^1.4.7",
    "cordova-ios": "4.5.5",
    "cordova-plugin-actionsheet": "^2.3.3",
    "cordova-plugin-add-swift-support": "^1.7.2",
    "cordova-plugin-camera": "^4.0.3",
    "cordova-plugin-device": "^1.1.7",
    "cordova-plugin-dialogs": "^2.0.1",
    "cordova-plugin-facebook4": "^2.5.0",
    "cordova-plugin-file": "^6.0.1",
    "cordova-plugin-file-transfer": "^1.7.1",
    "cordova-plugin-geolocation": "^4.0.1",
    "cordova-plugin-google-analytics": "^1.8.6",
    "cordova-plugin-googlemaps": "^2.4.6",
    "cordova-plugin-googlemaps-sdk": "git+https://github.com/mapsplugin/cordova-plugin-googlemaps-sdk.git",
    "cordova-plugin-ionic-keyboard": "^2.1.3",
    "cordova-plugin-ionic-webview": "^1.2.1",
    "cordova-plugin-screen-orientation": "^3.0.1",
    "cordova-plugin-splashscreen": "^4.1.0",
    "cordova-plugin-statusbar": "^2.4.2",
    "cordova-plugin-whitelist": "^1.3.3",
    "cordova-plugin-x-socialsharing": "^5.4.1",
    "cordova-sqlite-storage": "^2.5.1",
    "es6-promise-plugin": "^4.2.2",
    "firebase": "^4.13.1",
    "ionic-angular": "^3.9.2",
    "ionic-plugin-keyboard": "^2.2.1",
    "ionicons": "^3.0.0",
    "minimist": "^1.2.0",
    "mx.ferreyra.callnumber": "0.0.2",
    "onesignal-cordova-plugin": "^2.4.5",
    "platform": "^1.3.5",
    "rxjs": "^5.5.12",
    "sw-toolbox": "^3.6.0",
    "uk.co.workingedge.phonegap.plugin.launchnavigator": "^4.2.2",
    "xml2js": "^0.4.19",
    "zone.js": "^0.8.26"
  },
  "devDependencies": {
    "@ionic/app-scripts": "^3.2.0",
    "typescript": "^2.9.2"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "cordova-plugin-statusbar": {},
      "cordova-plugin-whitelist": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-ionic-webview": {},
      "cordova-plugin-screen-orientation": {},
      "cordova-plugin-geolocation": {
        "GEOLOCATION_USAGE_DESCRIPTION": "To locate you"
      },
      "mx.ferreyra.callnumber": {},
      "cordova-android-support-gradle-release": {
        "ANDROID_SUPPORT_VERSION": "25.+"
      },
      "uk.co.workingedge.phonegap.plugin.launchnavigator": {
        "OKHTTP_VERSION": "3.+",
        "LOCATION_USAGE_DESCRIPTION": "Doctory requires access to your location for navigation purposes"
      },
      "call-number": {},
      "cordova-plugin-camera": {},
      "cordova-plugin-google-analytics": {
        "GMS_VERSION": "11.0.1"
      },
      "cordova-sqlite-storage": {},
      "cordova-plugin-x-socialsharing": {},
      "cordova-plugin-file-transfer": {},
      "onesignal-cordova-plugin": {},
      "cordova-plugin-ionic-keyboard": {},
      "ionic-plugin-keyboard": {}
    },

  }
}

ionic info
lobal packages:

cordova (Cordova CLI) : 8.0.0

local packages:

@ionic/app-scripts : 3.2.0
Cordova Platforms  : ios 4.5.5
Ionic Framework    : ionic-angular 3.9.2

System:

Android SDK Tools : 26.1.1
ios-deploy        : 1.9.2
ios-sim           : 6.1.2
Node              : v8.11.4
npm               : 5.6.0
OS                : macOS High Sierra
Xcode             : Xcode 9.4.1 Build version 9F2000

#2

I use Xcode v10 and tested for a long time my app yesterday on iPhone 6 using iOS v12.0

The keyboard worked just fine

App update is now in store, keyboard still works fine

cordova-plugin-ionic-webview v2.2.1
cordova-plugin-ionic-keyboard v2.1.3


#3

that my package.json
i don’'t know what went wrong

{
  "name": "Doctory",
  "version": "1.2.1",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build",
    "lint": "ionic-app-scripts lint",
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
  },
  "dependencies": {
    "@angular/common": "^5.2.11",
    "@angular/compiler": "^5.2.11",
    "@angular/compiler-cli": "^5.2.11",
    "@angular/core": "^5.2.11",
    "@angular/forms": "^5.2.11",
    "@angular/http": "^5.2.11",
    "@angular/platform-browser": "^5.2.11",
    "@angular/platform-browser-dynamic": "^5.2.11",
    "@ionic-native/call-number": "^4.17.0",
    "@ionic-native/core": "^4.17.0",
    "@ionic-native/device": "^4.17.0",
    "@ionic-native/facebook": "^4.17.0",
    "@ionic-native/geolocation": "^4.17.0",
    "@ionic-native/google-analytics": "^4.17.0",
    "@ionic-native/google-maps": "^4.15.1",
    "@ionic-native/keyboard": "^4.17.0",
    "@ionic-native/launch-navigator": "^4.17.0",
    "@ionic-native/onesignal": "^4.17.0",
    "@ionic-native/social-sharing": "^4.17.0",
    "@ionic-native/splash-screen": "^4.17.0",
    "@ionic-native/status-bar": "^4.17.0",
    "@ionic/pro": "^1.1.0",
    "@ionic/storage": "^2.2.0",
    "@ngx-translate/core": "^8.0.0",
    "@ngx-translate/http-loader": "^2.0.1",
    "@types/googlemaps": "^3.30.16",
    "call-number": "^1.0.1",
    "cordova-android": "7.1.1",
    "cordova-android-play-services-gradle-release": "^1.4.4",
    "cordova-android-support-gradle-release": "^1.4.5",
    "cordova-plugin-actionsheet": "^2.3.3",
    "cordova-plugin-add-swift-support": "^1.7.2",
    "cordova-plugin-camera": "^4.0.3",
    "cordova-plugin-device": "^1.1.7",
    "cordova-plugin-dialogs": "^2.0.1",
    "cordova-plugin-facebook4": "^2.5.0",
    "cordova-plugin-file": "^6.0.1",
    "cordova-plugin-file-transfer": "^1.7.1",
    "cordova-plugin-geolocation": "^4.0.1",
    "cordova-plugin-google-analytics": "^1.8.6",
    "cordova-plugin-googlemaps": "^2.4.6",
    "cordova-plugin-googlemaps-sdk": "git+https://github.com/mapsplugin/cordova-plugin-googlemaps-sdk.git",
    "cordova-plugin-ionic-webview": "^1.2.1",
    "cordova-plugin-screen-orientation": "^3.0.1",
    "cordova-plugin-splashscreen": "^4.1.0",
    "cordova-plugin-statusbar": "^2.4.2",
    "cordova-plugin-whitelist": "^1.3.3",
    "cordova-plugin-x-socialsharing": "^5.4.1",
    "cordova-sqlite-storage": "^2.5.1",
    "es6-promise-plugin": "^4.2.2",
    "firebase": "^4.13.1",
    "ionic-angular": "^3.9.2",
    "ionic-plugin-keyboard": "^2.2.1",
    "ionicons": "^3.0.0",
    "minimist": "^1.2.0",
    "mx.ferreyra.callnumber": "0.0.2",
    "onesignal-cordova-plugin": "^2.4.5",
    "platform": "^1.3.5",
    "rxjs": "^5.5.12",
    "sw-toolbox": "^3.6.0",
    "uk.co.workingedge.phonegap.plugin.launchnavigator": "^4.2.2",
    "xml2js": "^0.4.19",
    "zone.js": "^0.8.26"
  },
  "devDependencies": {
    "@ionic/app-scripts": "^3.2.0",
    "typescript": "^2.9.2"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "cordova-plugin-statusbar": {},
      "cordova-plugin-whitelist": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-ionic-webview": {},
      "cordova-plugin-screen-orientation": {},
      "cordova-plugin-geolocation": {
        "GEOLOCATION_USAGE_DESCRIPTION": "To locate you"
      },
      "mx.ferreyra.callnumber": {},
      "cordova-android-support-gradle-release": {
        "ANDROID_SUPPORT_VERSION": "25.+"
      },
      "uk.co.workingedge.phonegap.plugin.launchnavigator": {
        "OKHTTP_VERSION": "3.+",
        "LOCATION_USAGE_DESCRIPTION": "Doctory requires access to your location for navigation purposes"
      },
      "call-number": {},
      "cordova-plugin-camera": {},
      "cordova-plugin-google-analytics": {
        "GMS_VERSION": "11.0.1"
      },
      "cordova-sqlite-storage": {},
      "cordova-plugin-x-socialsharing": {},
      "cordova-plugin-file-transfer": {},
      "onesignal-cordova-plugin": {},
      "ionic-plugin-keyboard": {}
    },
    "platforms": [
      "android",
      "ios"
    ]
  }
}


#4

Don’t know neither but you are using outdated or deprecated lib, maybe you should try to upgrade

You are using:

ionic-plugin-keyboard -> deprecated (see README https://github.com/ionic-team/ionic-plugin-keyboard)

cordova-plugin-ionic-webview v1.2.1 -> outdated (current version v2.2.1)


#5

ok i will update them


#6

i updated the plugin and not working yet in ios


#7

:frowning:

have no idea then sorry


#8

what the relation with keyboard and webview in ios
my webview version 1.2.1


#9

there isn’t but you were much precise on your issue, so I thought one of these might have been the root of your problem. seems they aren’t, so I’ve go no other idea. good luck


#10

hi I have found something weird i created new ionic project and installed the keyboard works fine but in package.json of new project the keyboard plugin was this

"@ionic-native/keyboard": "^4.17.0",
"cordova-plugin-ionic-keyboard": "^2.1.3",

and in the project that have the issue

"ionic-plugin-keyboard": "^2.2.1",
"cordova-plugin-ionic-keyboard": "^2.1.3",
"@ionic-native/keyboard": "^4.17.0",

I’m confused :disappointed_relieved:


#11

do an “npm uninstall ionic-plugin-keyboard” and tell me if it works.


#12

stops at removing keyboard plugin from package.json and didn’t remove


#13

what error does it give?


#14

no errors come out just stops at removing keyboard from package.json


#15

can you just delete the ionic-plugin-keyboard line from your package.json, then run npm prune


#16

I see that you’re using Xcode 9 so my comment probably won’t help you very much, however I’ve found that I have keyboard problems in iOS if I build under Xcode 10. The layout of the screen is “bumped up” when the keyboard slides into view, but even once the keyboard is dismissed (even if I do it programmatically) then even when the screen has re-arranged back to where it was, the touch events are still in the “bumped up” position. The issue goes away when I take my Ionic iOS build into Xcode 9 and compile there.

You don’t say what your specific problem is, however I thought I’d throw this in to the mix so you’re aware of it in case this becomes an issue for you later on.

For reference, my ionic info:

global packages:

cordova (Cordova CLI) : 8.0.0

local packages:

@ionic/app-scripts : 3.2.0
Cordova Platforms  : android 6.4.0 ios 4.5.5
Ionic Framework    : ionic-angular 3.9.2

System:

ios-deploy : 1.9.1
Node       : v7.10.1
npm        : 4.2.0
OS         : macOS High Sierra

#17

Any solutions…i am facing the same problem with xcode 10


#18

try to reinstall the keyboard


#19

I’ve had the same problem and it cost me a few days to figure it out. But it works not, here is what I did.

I checked which NPM package was out of date with npm outdated and updated every package. After that I removed the old ionic-keyboard and webview and installed cordova-plugin-ionic-webview and cordova-plugin-ionic-keyboard.

When it still gives problem you can remove de plugins and node_modules folder and remove the platform with ionic cordova platform remove ios

After that add the platform again (ionic cordova platform add ios). After this it should work, it did for me anyway. I’m using xcode 10, and the layout is not “bumped up” after the keyboard disappears when I use the latest version of all the components. When you build however you’ll need to add an extra parameter to the build command: ionic cordova build ios --buildFlag="-UseModernBuildSystem=0". Somehow my ionic app does not work with the new build system of Xcode, but when I use this tag everything is fine.

I hope this helps you out.

Sometimes ionic is a real pain in the … I added some new features to my app and spend 4 hours on that. But I spend almost 6 days to get ionic working again with iOS 12 / xcode10 and so on. When it comes to framework updates Ionic does not feel like a real stable environment for developing apps :frowning:


#20

if I may, what you describe is not an ionic issue but rather something related to cordova…

that being said, cool to hear you found your solution and that’s also cool that you describe the process which leads you to solve your issue incluse the Xcode 10 flag :+1: