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

来源:互联网 发布:淘宝食品类别名称 编辑:程序博客网 时间:2024/05/16 08:57

自从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

0 0
原创粉丝点击