Skip to content

Commit cb4c491

Browse files
authored
fix(ios): Fix autofocus on iOS 12.2 (#334)
closes #330
1 parent 504459b commit cb4c491

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
@@ -269,9 +269,7 @@ - (void)pluginInitialize
269269
[wkWebView.configuration.userContentController addScriptMessageHandler:(id < WKScriptMessageHandler >)self.viewController name:CDV_BRIDGE_NAME];
270270
}
271271

272-
//if (![settings cordovaBoolSettingForKey:@"KeyboardDisplayRequiresUserAction" defaultValue:NO]) {
273272
[self keyboardDisplayDoesNotRequireUserAction];
274-
//}
275273

276274
if ([settings cordovaBoolSettingForKey:@"KeyboardAppearanceDark" defaultValue:NO]) {
277275
[self setKeyboardAppearanceDark];
@@ -304,9 +302,15 @@ - (void)pluginInitialize
304302
- (void) keyboardDisplayDoesNotRequireUserAction {
305303
Class class = NSClassFromString(@"WKContentView");
306304
NSOperatingSystemVersion iOS_11_3_0 = (NSOperatingSystemVersion){11, 3, 0};
305+
NSOperatingSystemVersion iOS_12_2_0 = (NSOperatingSystemVersion){12, 2, 0};
306+
char * methodSignature = "_startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:";
307+
308+
if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion: iOS_12_2_0]) {
309+
methodSignature = "_elementDidFocus:userIsInteracting:blurPreviousNode:changingActivityState:userObject:";
310+
}
307311

308312
if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion: iOS_11_3_0]) {
309-
SEL selector = sel_getUid("_startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:");
313+
SEL selector = sel_getUid(methodSignature);
310314
Method method = class_getInstanceMethod(class, selector);
311315
IMP original = method_getImplementation(method);
312316
IMP override = imp_implementationWithBlock(^void(id me, void* arg0, BOOL arg1, BOOL arg2, BOOL arg3, id arg4) {

0 commit comments

Comments
 (0)