[iOS 禁用第三方输入法] 禁用第三方输入法+ExtensionPointIdentifier理解

113 篇文章 1 订阅
13 篇文章 0 订阅

自从iOS8开始,许多第三方输入法出现,但是旧项目里面没有对第三方输入法做过适配,倒是用户出现许多问题,

网上有代码,在
Appdelegate.m中,添加

- (BOOL)application:(UIApplication *)application shouldAllowExtensionPointIdentifier:(NSString *)extensionPointIdentifier
{
    return NO;
}

就可以在运行本app时候,禁用掉第三方输入法,(注意,此时系统的输入法被默认修改为系统输入法,如果需要在QQ等上用第三方输入法,需再去长按��键盘 去设置)

问题来了
为什么appdelegate中这句代码可以干掉第三方输入法?

因为:自从iOS8以后,苹果引入了扩展点(ExtensionPointIdentifier)这个概念

iOS 8系统有6个支持扩展的系统区域,分别是Today、Share、Action、Photo Editing、Storage Provider、Custom keyboard。支持扩展的系统区域也被称为扩展点。
其中,就有这个

Custom Keyboard
苹果公司在2007年率先推出了触摸屏键盘,但一直没多大改进。在这一方面,Android则将键盘权限开放给了第三方开发者,所以出现了许多像Swype,SwiftKey等优秀的键盘输入法。在iOS 8中,苹果终于将键盘权限开发给了第三方开发者,自定义键盘输入法可以让用户在整个系统范围内使用。

这里写图片描述

更多扩展点 可以看这个
http://www.cocoachina.com/industry/20140721/9205.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值