在收到remote Notification消息的方法里面发一个通知,不走回调

ios
标签: #<Tag:0x00007fb8462f9558>

(丶 Destiny) #1

发现一个问题 我开启了content-available 用Xcode连接真机调试是走-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{ 这个方法 但是拔掉数据线,直接用真机调试就不走这个方法了


iOS10接收推送的问题
(丶 Destiny) #2

我现在需要在后台状态下,有通知时,点击icon(不是横幅)进入应用 在给首页消息入口的button右上角添加一个有未读消息的小红点, 现在的实现是应用在后台状态下,接收到通知 在didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler 方法里发送一个notification 让首页消息的button添加红点,现在用真机连接Xcode测试是可以的,但是拔掉数据线直接用真机测试就接收不到我自己发送的notificatio,所以就不显示红点。不知道是哪的问题


#3

你客户端的设置正确吗?

你推送的那条消息是这个


还是slient_push?


(丶 Destiny) #4

确定都是正确的设置。


(丶 Destiny) #5

现在的问题是连接数据线真机调试正常,拔下数据线就不行了:joy:


#6

给我提供一下msgid和你设备的registrationID,确认一下消息是不是推送成功了


(丶 Destiny) #7

“_j_msgid” = 8350763622;

registrationID = 13165ffa4e046eeb4ae


(丶 Destiny) #8

我是在web 用开发环境测试额的推送 这里显示是成功的
type 是我携带的逻辑跳转字段


(丶 Destiny) #9

这是通知接收的方法和我发送的notification的代码


#10

我查到的确实也成功了。
你可以看看你拔下数据线后的客户端日志么,看看是不是有收到消息,但是没有展示?


(丶 Destiny) #11

测试了 没有连接数据线的情况下没有走回调


(丶 Destiny) #12

能收到通知 但是没有看到打印


(丶 Destiny) #13

看到一个这个打印,但不是我的格式化输出


(丶 Destiny) #14

在前台情况下是可以的


#15

你在后台的时候消息已经收到了,怎么叫没有走回调呢?Background remote Notification是收到消息的时候就走了这个回调的。


(丶 Destiny) #16

iOS10+开启Background remote Notification App在后台情况下 收到通知 didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler 方法里发送一个notification 回调不走 建议测试下


#17

我们分析了一下,你是已经收到了消息,回调走了,只是你自己的通知没有生效。

在后台运行,程序是被暂停的,你的通知估计是在其他的控制器里面监听的,不走也是正常的。