使用iOS系统键盘时,系统会启动输入法的自动更正,并将记录缓存到设备上,在用户输入过程中系统键盘利用已经缓存的记录来更正用户的输入
缓存文件的地址:/var/mobile/Library/Keyboard/dynamic-text.dat
可以通过cat直接查看,是明文,并没有进行加密
系统不会把所有的信息当成敏感信息来处理。
一般情况下,记录中高频率出现的就是用户名和密码。
所以,一般银行客户端app输入密码时都不使用系统键盘,而使用自己定制的键盘,原因主要有2个:
1)避免第三方读取系统键盘缓存
2)防止屏幕录制 (自己定制的键盘按键不加按下效果)
iOS提供了定制键盘的接口
对已UITextField,重置inputView对象即可,具体实现参考官方文档
如: