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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容