移动推送 iOS SDK: 推送通知收不到排查步骤该做什么?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

移动推送 iOS SDK: 推送通知收不到排查步骤该做什么?

2017-10-24 09:41:50 1589 0


1. 检查手机端

  • App允许接收通知。
  • App在后台运行,因为在iOS系统中,如果App在前台,就不会收到弹窗和通知中心的通知(iOS 10+,前台通知触发回调处理完成后,调用completionHandler可实现前台通知弹出,具体参考iOS 10通知适配 - 4.4.2)。

检查手机端的推送配置,可以通过如下的方法来判断手机端是否能从苹果APNs服务端拿到Device Token。
  1. [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]([backcolor=transparent]void[backcolor=transparent])[backcolor=transparent]application[backcolor=transparent]:([backcolor=transparent]UIApplication[backcolor=transparent] [backcolor=transparent]*)[backcolor=transparent]application didFailToRegisterForRemoteNotificationsWithError[backcolor=transparent]:([backcolor=transparent]NSError[backcolor=transparent] [backcolor=transparent]*)[backcolor=transparent]error
  2. [backcolor=transparent]{
  3. [backcolor=transparent]    [backcolor=transparent]NSLog[backcolor=transparent](@[backcolor=transparent]"didFailToRegisterForRemoteNotificationsWithError %@"[backcolor=transparent],[backcolor=transparent] error[backcolor=transparent]);
  4. [backcolor=transparent]}

如果配置不对,就会报错。
  • 检查代码中是否有调用unregisterForRemoteNotifications接口(远程推送注销接口),设备调用该接口后无法收到苹果APNs推送通知。


2. 检查推送模式


  • iOS的通知推送,走的是苹果官方的APNs通道,本身区分开发环境和生产环境。

  • 开发时安装到手机的App,只能以开发模式推送,使用APNs Sandbox推送证书。

  • 正式发布后,通过App Store安装的App,只能以生产模式推送,用APNs Production推送证书;生产环境通知测试,参考移动推送iOS SDK: Ad Hoc App如何进行生产环境推送通知测试?

  • 如果推送模式选错,或者推送证书传错,苹果的APNs服务端就会认为该Device Token无效,无法推送通知。

  • OpenAPI的推送高级接口,可以通过设置iOSApnsEnv参数选择推送模式。


3. 检查IDE设置


Xcode 8开始,会出现一个推送开关,请保证它是处于打开状态
若没有打开推送开关,会触发deviceToken注册错误回调:didFailToRegisterForRemoteNotificationsWithError:,提示下述错误:
  1. [backcolor=transparent]Error[backcolor=transparent] [backcolor=transparent]Domain[backcolor=transparent]=[backcolor=transparent]NSCocoaErrorDomain[backcolor=transparent] [backcolor=transparent]Code[backcolor=transparent]=[backcolor=transparent]3000[backcolor=transparent] [backcolor=transparent]"未找到应用程序的“aps-environment”的授权字符串"[backcolor=transparent] [backcolor=transparent]UserInfo[backcolor=transparent]=[backcolor=transparent]0x1740741c0[backcolor=transparent] [backcolor=transparent]{[backcolor=transparent]NSLocalizedDescription[backcolor=transparent]=未找到应用程序的“[backcolor=transparent]aps[backcolor=transparent]-[backcolor=transparent]environment[backcolor=transparent]”的授权字符串


4. 推送证书合法性校验

  • 在推送控制台检查推送证书是否在有效期内,证书配置参考iOS推送证书设置
  • 也可以通过第三方工具快速测试您的APNs推送证书信息是否正确,例如:https://github.com/noodlewerk/NWPusher


5. 设备关机

  • 设备关机后再推送通知,苹果APNs只保留最后一条通知,当重新开机后只能收到最后一条通知。
取消 提交回答
全部回答(0)
相关问答

2

回答

【移动推送】 我发现 在APP前台会收不到 切到后台(桌面) 才可以收到推送 这是咋回事?

2022-10-19 22:11:25 144浏览量 回答数 2

2

回答

【移动推送】在通过控制台进行的推送,都收不到消息,但是推送记录显示成功

2022-10-19 21:45:57 124浏览量 回答数 2

1

回答

【移动推送】APP在vivo平台上线以后,厂商离线推送收不到信息。使用vivo的平台测试,可以收到。

2022-10-17 22:37:17 81浏览量 回答数 1

1

回答

【移动推送】hi,我想问一下安卓推送厂商通道华为手机收不到可能是什么原因呀,log显示华为的tok

2022-10-14 22:03:04 91浏览量 回答数 1

1

回答

【移动推送】这条是收不到的 appKey:333773036 消息ID:6192457930937

2022-09-30 15:59:34 79浏览量 回答数 1

1

回答

【移动推送】你好很疑惑为什么小米辅助通道收不到消息了?

2022-09-23 12:41:11 139浏览量 回答数 1

1

回答

【移动推送】华为手机杀死后收不到推送是什么原因啊?

2022-09-23 12:41:11 121浏览量 回答数 1

1

回答

【移动推送】我们服务器发送量一条推送,阿里控制台也收到了,但是app关闭的情况下,手机收不到呢

2022-09-21 12:24:56 46浏览量 回答数 1

1

回答

【移动推送】你好,我在使用过程中,v集成了vivo的三方通道,但是vivo手机关闭app后,就收不到

2022-09-21 12:10:59 58浏览量 回答数 1

1

回答

【移动推送】使用同一个应用包名,用测试AppKey测试正常,切换成正式AppKey之后收不到推送?

2022-09-15 14:26:50 44浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
从 SDK 到编解码:视频直播架构解析
立即下载
移动 App 性能监测实践(iOS篇)
立即下载
聚划算iOS平台动态化方案LuaView
立即下载