iOS识别第三方输入法

方法

目前可以通过获得当前的UITextInputMode实例来判断是否属于第三方输入法

  • 若是系统输入法,实例为UIKeyboardInputMode(私有API)对象。
  • 若是第三方(百度、搜狗等),实例为UIKeyboardExtensionInputMode(私有API)对象。

借助这点,可以写出以下代码。

// 方法一
- (BOOL)isThirdPartyKeyboard {
    UITextInputMode *currentInputMode = [[UIApplication sharedApplication] textInputMode];
    if ([[currentInputMode description] containsString:@"Extension"]) {
        return YES;
    }
    return NO;
}

// 方法二
- (BOOL)isThirdPartyKeyboard {
    UITextInputMode *currentInputMode = [[UIApplication sharedApplication] textInputMode];
    NSString *currentInputModeClass = NSStringFromClass([currentTextInputMode class]);
    if ([currentInputModeClass isEqualToString:@"UIKeyboardExtensionInputMode"]) {
        return YES;
    }
    return NO;
}

你可能感兴趣的:(iOS识别第三方输入法)