BadDeviceToken的原因是什么?
iOS推送消息失败,返回BadDeviveToken,主要是环境问题,需要检查三个方面:
工程自身的环境:
上架AppStore和ADHoc打包,为生产环境,只能发送正式消息,测试消息发送会返回BadDeviveToken。
其他打包方式或Debug模式,为开发环境,只能发送测试消息,必须添加测试设备,如发送正式消息,会返回BadDeviveToken。
证书环境问题:
确认证书是P12还是P8证书,P12证书分生产环境证书和开发环境证书,需要按照对应环境进行上传,且证书有效期未过期;P8证书不区分环境,也没有有效期。
获取的token环境:
iOS的token也是区分环境的,生产环境获取DeviceToken的方法与开发环境不一样,需要在不同环境下分别获取token,避免环境混乱导致消息推送失败,报错BadDeviveToken。