iOS 软键盘短信验证码自动填充技术方案

66 阅读2分钟

1. 背景

设备上,当用户收到包含验证码的短信时,系统软键盘会自动识别并弹出验证码填充选项,提升用户登录/注册体验。然而,这一功能并非对所有短信格式都生效——iOS 对验证码短信的格式有特定的要求。

2. iOS 自动填充机制

iOS 12+ 引入了「自动填充验证码」(Autofill Verification Code)功能。系统通过检测短信内容中特定关键词,自动识别验证码并展示在 QuickType 栏中,用户只需轻点即可填充。

2.1 触发条件

iOS 要求短信内容必须包含 code 关键词(大小写不敏感),才会触发自动填充。

常用的可触发关键词包括:

  • code
  • verification code
  • auth code
  • one-time code

2.2 官方说明

Apple 官方文档指出,短信格式建议为:

Your verification code is: <#Code>

其中 <#Code> 是占位符,实际发送时替换为具体的验证码数字。

3. 实测验证

3.1 测试平台

平台测试结果
iOS 抖音✅ 软键盘弹出验证码
iOS 小红书✅ 软键盘弹出验证码

3.2 结论

实测表明,包含 code 字样的短信格式在 iOS 上能够正常触发自动填充。

4. 当前问题

当前 APU 系统发送的短信验证码格式不包含 code 关键词,导致 iOS 端无法自动弹出验证码填充,用户需要手动输入,影响体验。

5. 建议方案

5.1 短信模板修改

建议将 APU 短信验证码模板修改为以下格式:

Your verification code is: XXXXXX

或:

Your verification code is XXXXXX

关键点:

  • 必须出现 code 字样
  • 验证码数字紧跟在 code 之后或冒号之后
  • 整条短信尽量简洁,避免无关内容干扰识别

5.2 示例对比

类型示例是否触发自动填充
❌ 旧格式您的验证码为:123456
✅ 新格式Your verification code is: 123456
✅ 新格式您的验证码(code):123456是(推荐中英文混用)

推荐中英文混用方案您的验证码(Code)为:123456
既满足 iOS 关键词检测,又照顾国内用户阅读习惯。

6. 验证步骤

  1. 修改 APU 短信模板,加入 code 关键词
  2. 在 iOS 真机上发送验证码
  3. 观察软键盘是否自动弹出验证码选项
  4. 确认点击验证码后能正确填充到输入框

7. 参考