问题描述:线上的项目突然无法接收到通知了,通知代码逻辑没改动过,之前一直可以正常接收通知,突然不行了,很奇怪...
可能发生的情况
1.后台服务器的同事修改了推送的代码逻辑导致无法接收推送通知
排查方案:直接登录极光后台进行测试推送,假如可以正常接收到通知,则是后服务器同事的问题导致的)
2.APNS证书过期导致无法接收推送通知
排查方案:直接登录极光后台或者苹果开发者中心或者钥匙串查看APNS推送证书是否已近过期)
经过排查,发现APNS证书过期了,找到问题,接下来就处理问题
第一步:本地生成请求证书的CSR请求文件,保存在本地。
注意:接下来在苹果官网生产推送证书时需要使用这个CSR证书签名请求文件生产APNS推送证书
步骤1-1
打开Mac电脑上的-》钥匙串访问工具,选择选项-》证书助理,选择-》从证书颁发机构请求证书
步骤1-2
填写证书名称(常用名称填写需要注意,后面根据这个名称来识别不同的推送证书),然后选择“存储到磁盘”保存在本地桌面
第二步:生成APNS推送证书,然后导出.p12文件,后面需要使用这个p12文件
步骤2-1,创建APNS证书
前往苹果开发者中心,https://developer.apple.com/,点击account菜单栏,登录账号,选择证书管理Certificates, Identifiers & Profiles,点击右上角的加号+进行创建一个新的推送证书(apns类型的)
步骤2-2,创建一个新的推送证书(apns类型的)
步骤2-3,选择线上项目的那个项目对应的APP ID
步骤2-4,选择刚刚本地保存好的CSR证书签名请求文件xxx. certSigningRequest
步骤2-5、生成了一个推送证书,下载到本地,点击打开,会在钥匙串访问工具中出现刚刚那个证书,右键导出.p12文件
第三步:前往极光推送后台的应用设置中,选择刚刚弄好的.p12文件,导入进行验证
完成验证
看到右侧的“已验证”的字段就表示验证完成,这样就可以解决因为APNS证书过期的问题导致线上的项目无法接收到通知的问题了