devgeeks / PrivacyScreenPlugin

Cordova / PhoneGap plugin that secures your app from displaying a screenshot in task switchers under Android and iOS. Keeps sensitive information private.
MIT License
102 stars 148 forks source link

Weird issue with keyboard on iOS #15

Open okonon opened 8 years ago

okonon commented 8 years ago

Hello @devgeeks thanks for such a great plugin. We have a confirmed issue where we have an app with privacy screen plugin installed our input fields are acting up. When users tap in an input field - field receives focus but keyboard does not open. The only way to get a keyboard up is to double tap on the input field.

This is happening on multiple ios versions - 9.3 and 9.2.1

If I remove the plugin inputs in the app behave normally - user taps on an input and keyboard appears. If i add the plugin back in the issue is back. Plugin versions that seem to cause the issue 0.1.3 and 0.1.2

okonon commented 8 years ago

Same for version 0.1.1 My info:

Cordova CLI: 6.1.0 (cordova-lib@undefined)
cordova-ios: 4.1.0
Gulp version:  CLI version 3.9.0
Gulp local:   Local version 3.9.0
Ionic Version: 1.2.4
Ionic CLI Version: 2.0.0-beta.23
Ionic App Lib Version: 2.0.0-beta.13
ios-deploy version: 1.8.5 
ios-sim version: 4.1.1 
OS: Mac OS X El Capitan
Node Version: v4.4.1
Xcode version: Xcode 7.3 Build version 7D175 
okonon commented 8 years ago

Ok. so i think i figured why this started to happend to our apps. When i force cordova-ios to 3.9.2 version by changing line <engine name="ios" spec="~4.1.0" /> to <engine name="ios" spec="3.9.2" /> the issue goes away.

So i think this plugin is not compatable with cordova-ios 4.1.0 cc: @devgeeks

devgeeks commented 8 years ago

I'll look at this. Thanks.

okonon commented 8 years ago

Thanks a lot @devgeeks

devgeeks commented 8 years ago

I can't reliably make this happen, but anecdotally I am seeing this sometimes.

Not sure what it is though :/

james246 commented 7 years ago

Just wanted to chip in I am experiencing this issue with the following dependencies:

cordova-plugin-privacyscreen 0.3.1
cordova 6.5.0
cordova-ios 4.4.0
iOS 9
james246 commented 7 years ago

Seems to be related to setting self.viewController.view.window.hidden. When I remove all other logic except the lines setting that property to No in onAppDidBecomeActive and Yes in onAppWillResignActive, the bug still persists. I'm not an iOS dev, but can't see why this line should cause any issues so perhaps it's a bug in cordova-ios.

As a workaround, I've replaced hiding the window with overlaying a simple black view (a bit like how the plugin overlays the splash screen, but that didn't seem to be working for me). Code diff here: https://github.com/james246/PrivacyScreenPlugin/commit/2110f0de50d033387dba4a66e917a7f559493a42

It's a workaround that suits my needs (so perhaps it might be useful to others) but it doesn't really address the underlying problem so I won't open a PR.