Skip to content

Commit a5db8ff

Browse files
authored
Fix autofocus on iOS 12.2 (#331) (#332)
1 parent fdf772d commit a5db8ff

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/ios/CDVWKWebViewEngine.m

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -362,9 +362,7 @@ - (void)pluginInitialize
362362
[wkWebView.configuration.userContentController addScriptMessageHandler:(id < WKScriptMessageHandler >)self.viewController name:CDV_BRIDGE_NAME];
363363
}
364364

365-
//if (![settings cordovaBoolSettingForKey:@"KeyboardDisplayRequiresUserAction" defaultValue:NO]) {
366365
[self keyboardDisplayDoesNotRequireUserAction];
367-
//}
368366

369367
if ([settings cordovaBoolSettingForKey:@"KeyboardAppearanceDark" defaultValue:NO]) {
370368
[self setKeyboardAppearanceDark];
@@ -407,9 +405,15 @@ - (void)pluginInitialize
407405
- (void) keyboardDisplayDoesNotRequireUserAction {
408406
Class class = NSClassFromString(@"WKContentView");
409407
NSOperatingSystemVersion iOS_11_3_0 = (NSOperatingSystemVersion){11, 3, 0};
408+
NSOperatingSystemVersion iOS_12_2_0 = (NSOperatingSystemVersion){12, 2, 0};
409+
char * methodSignature = "_startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:";
410+
411+
if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion: iOS_12_2_0]) {
412+
methodSignature = "_elementDidFocus:userIsInteracting:blurPreviousNode:changingActivityState:userObject:";
413+
}
410414

411415
if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion: iOS_11_3_0]) {
412-
SEL selector = sel_getUid("_startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:");
416+
SEL selector = sel_getUid(methodSignature);
413417
Method method = class_getInstanceMethod(class, selector);
414418
IMP original = method_getImplementation(method);
415419
IMP override = imp_implementationWithBlock(^void(id me, void* arg0, BOOL arg1, BOOL arg2, BOOL arg3, id arg4) {

0 commit comments

Comments
 (0)