Flutter应用Firebase OTP安卓正常但iOS设备无法生效问题求助
Flutter iOS端收不到OTP验证码与通知排查方案
推送相关配置排查
- 确认Xcode项目的
Signing & Capabilities页签下已添加两项配置:Push Notifications、Background Modes,且Background Modes中勾选了Remote notifications,缺少以上配置会导致iOS系统层面拦截远程推送 - 检查Info.plist中是否已添加通知权限对应的描述字段:
NSUserNotificationUsageDescription、NSRemoteNotificationUsageDescription,字段缺失会导致权限申请直接被系统驳回 - 调试阶段打印APNs token获取结果,确认iOS端成功拿到token且已正确上传到后端服务,token无效或未上传会导致后端无法向指定设备下发推送
- 校验APNs证书有效性:iOS推送依赖苹果APNs服务,开发/生产环境的证书必须与后端推送服务使用的证书完全匹配,证书不匹配时苹果会直接拒接推送请求,安卓侧不依赖APNs证书因此不受影响
OTP验证码相关排查
- 若你实现的是短信自动读取OTP功能:iOS无公开的短信读取权限,需满足两个条件才能实现系统自动填充:
- 短信内容末尾按照苹果要求格式添加关联信息:
@你的绑定域名 #OTP验证码值 - OTP输入框的
textContentType属性设置为oneTimeCode,同时你的域名根目录下已部署正确的apple-app-site-association关联文件
- 短信内容末尾按照苹果要求格式添加关联信息:
- 若你是通过推送携带OTP值:完成上述推送配置排查后,可在调试模式下抓包确认APNs推送是否成功送达设备,未送达优先排查证书、权限配置问题
内容的提问来源于stack exchange,提问作者anirudh chawla
相关产品推荐
相关产品推荐

