美文网首页iOS Developer
iOS10调度组处理通知问题

iOS10调度组处理通知问题

作者: Easonnnn | 来源:发表于2016-12-05 12:16 被阅读221次

记近期处理iOS10的通知时遇到的一个坑:

iOS10的取消未展示通知方法removePendingNotificationRequestsWithIdentifiers:和removeAllPendingNotificationRequests方法是异步执行的,导致不能取消,而引起用户已取消的通知仍会提醒。。。

异步执行

在解决该问题时想到了“调度组”,将该异步执行的方法放入调度组中,使用调度组进行监听,同时暂时阻塞处理该方法的队列,等处理完成后再在该队列进行后续通知用户或发出刷新UI通知操作~

代码:

dispatch_queue_tqueue = dispatch_get_global_queue(0,0);

dispatch_group_tgroup = dispatch_group_create();

dispatch_group_enter(group);

dispatch_async(queue, ^{

[center removePendingNotificationRequestsWithIdentifiers:@[keys]];

dispatch_group_leave(group);

});

dispatch_group_notify(group, queue, ^{

// 开始调度的通知

});

// 用户提醒  正在处理中

// DISPATCH_TIME_FOREVER表示一直等待该任务,直到执行结束该队列的阻塞才会被取消

dispatch_group_wait(group,DISPATCH_TIME_FOREVER);

因为处理取消的操作系统执行速度比较快,对于主队列的阻塞并不会太长所以采取了这种方式,有大神会有好的方法还请不吝赐教~

相关文章

  • iOS10调度组处理通知问题

    记近期处理iOS10的通知时遇到的一个坑: iOS10的取消未展示通知方法removePendingNotific...

  • ios 使用本地通知

    IOS10系统 app没有出现在系统设置-通知列表处理

  • iOS10的推送处理

    新版iOS10更新后, 通知的处理发生里很大变化, 本人也刚刚处理完成这一方面的问题, 写出来希望帮助更多的人, ...

  • iOS 推送回调方法整理

    不考虑iOS10以下。 APP在运行中收到通知的处理方法:执行UIApplicationDelegate代理方法 ...

  • IOS的通知

    通知详解 简书-iOS10 推送通知 UserNotifications iOS10本地通知UserNotifi...

  • iOS10关于通知的适配

    在更新了iOS10之后发现在通知部分出现了一些问题,原先的处理是:锁屏状态下接收到评论的推送通知之后滑动打开应用可...

  • ios好文

    iOS10 通知 extension 之 Service Extension 你玩过了吗? iOS10 通知 ex...

  • ios10新特性-UserNotification

    ios10新特性-UserNotification 引言:iOS的通知分本地通知和远程通知,iOS10之前采用的是...

  • iOS10本地通知自定义声音无效问题

    今天遇到一个问题,利用iOS10的 [UNNotificationSound soundNamed: 设置本地通知...

  • 关于iOS通知那些事

    一、概述 通知分为本地通知和远程推送通知,iOS10中对于通知这一块改变较大,本文主要针对iOS10的通知,iOS...

网友评论

    本文标题:iOS10调度组处理通知问题

    本文链接:https://www.haomeiwen.com/subject/svmkmttx.html