远程推送的问题

原创 2013年12月03日 10:15:45

最近在做推送的时候出现了强制执行推送函数的情况

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 函数是在应用已经启动,在后台或者前台情况下执行。因此问题来了,当用户在应用内使用时,收到远程推送就很可能出现被强制执行通知的事件。

最后测试发现,在执行这个函数之前,如果是从后台进入则会先执行

- (void)applicationWillEnterForeground:(UIApplication *)application,这时只需要在该函数内使用一个BOOL变量就能控制了。因为只要是从后台点通知进入的就需要执行通知的函数,但是直接点击应用进入的就不需要执行通知函数。

此外,在

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中也需要处理通知事件,如果应用是被通知触发启动,是不会进入didReceiveRemoteNotification这个函数的,这时候需要在didFinishLaunchingWithOptions中做处理

NSDictionary* userInfo = [launchOptionsvalueForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"];

    if (userInfo) {

        self.notificationDcit = userInfo;

        ....

        ...

        

           ...

        

    }

userInfo是启动项launchOptions中取出来的远程通知字典,如果是由远程通知启动的应用这个字典是!nil的

强制执行的问题就解决了。


最近做推送的时候还遇上一问题,就是在应用关闭状态,收到远程通知,这时候不点击通知而是从应用的图标启动,会出现上述字典userInfo为nil的情况。也不会执行didReceiveRemoteNotification代理方法,此种情况下,应用是无法拿到手机获得的推送消息的。这时候无法在应用中进行有效的用户提示,可有大神知道怎么解决?很纠结啊!

相关文章推荐

iOS 远程推送参考资料及自己遇到的问题

很好的参考资料:http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1...

iOS远程推送Demo和PHP服务器配置、以及问题的解决方法

写这篇文章的目的是为了自己做笔记,以免下次再出现同样的错误,如果对你有帮助,你可以接着往下看看。。。。1、配置APNs相关证书      关于相关证书的配置,参考的是网上的博客:http://zxs...

适配 iOS 8 时遇到的问题两则:远程推送和 Unwind Segue

原文:http://imtx.me/archives/1910.html 昨天我在微博上吐槽:iOS 8 / Xcode 6 真是史上对开发者最糟糕的版本了。收到很多朋友表达同感。 ...

ios远程推送常见问题

常见问题: 1、在用证书和秘钥链接服务器时出现提示: Error opening client certificate private key filePushChatKey.pem20839:er...

Android 异常:JPush推送与远程进程问题

问题描述:项目使用UDP协议进行通讯,接收广播信息,但总是会出现没有无法接收到广播的问题,通过log出来的信息看到,实际上app是有接收到广播信息的,但是确是在app的另一个私有进程中(为极光推送设置...

IOS远程推送php测试--pushMe.php

  • 2015年06月10日 10:16
  • 1KB
  • 下载

IOS远程推送--PushMeBaby

  • 2015年06月10日 09:36
  • 246KB
  • 下载

ios-远程推送服务APNs

简单的说一下概念,远程推送通知,其实就是从远程服务器推送给客户端的通知是需要联网的。 远程推送服务又称为APNs全称为Apple Push Notification Services 其实现实Ap...
  • ZCMUCZX
  • ZCMUCZX
  • 2017年10月31日 09:14
  • 44

ios 远程推送发送器

  • 2015年09月02日 15:59
  • 79KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:远程推送的问题
举报原因:
原因补充:

(最多只允许输入30个字)