Ionic Keyboard plugin Xcode exceptions on iOS 8

Hi,

I have been testing an app on 3 iPads with iOS 8 and I found a bad performance with Ionic Keyboard Plugin. I have reinstalled it 3 times with the same issue.

When running the app in Xcode I get this output in the console:

2014-12-11 10:41:45.388 SGMDealerReview[368:719658] -[UIWebView     setHackishlyHidesInputAccessoryView:]: unrecognized selector sent to instance 0x17d68e70

2014-12-11 10:41:45.390 SGMDealerReview[368:719658] *** WebKit discarded an uncaught exception in the webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate: <NSInvalidArgumentException> -[UIWebView setHackishlyHidesInputAccessoryView:]: unrecognized selector sent to instance 0x17d68e70

Then when I type something in an input text, it freezes about 4 seconds and then start typing.
The iPad’s memory increases drastically on keydown (seen in Xcode too).

I created a thin version of my app leaving only the login page and the same result came up with the keyboard.

1 Like

Just curious, what kind of ipads? ipad2?

Are you calling any code for the keyboard plugin in your javascript?

Tested in iPad 2 and 3. IOS 8.1.2

The AccesoryBar does not hide. Still getting the error posted above in Xcode. I have only the default code:

$ionicPlatform.ready(function () {
        console.log("Ionic Platform ready()");
        if (window.cordova && window.cordova.plugins.Keyboard && window.plugins.appPreferences) {
            console.log("Ionic Keyboard Ready");
            cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);

            //Init appPreferences and settings
            window.plugins.appPreferences.fetch(function(environment) {
                window.wsServer = environment;
                console.log('****Current environment: ' + wsServer + '*****');
                ConfigService.setAPI_URL(wsServer);
            }, function(error) {
                console.error("Failed to retrieve settings: " + error);
            },'change_Environment');
        } else {
            console.log("Web version");
        }

For the performance issue, it was a style (-webkit-filter blur) error that was causing the keyboard response to delay so much by affecting all device memory.

Hey,

i had the same issue.
i solved it by adding UIWebViewExtension.m to my build phases in xcode. it was missing.

cheers,
kate

@kirrg Can you elaborate on that please? I’m having this same issue recently.

I’m having a similar issue detailed in this thread:

Sorry for late reply.

You open Xcode.
Click on “Show Project Navigator” and click on the target Project.
Then click on “Build Phases”.
Click on “Compile Sources”.
Click on the “Plus (+)”, search for “UIWebViewExtension.m” and add it.