当我在设备上收到静音推送通知时。它阻止了在主线程上运行的其他任务,这导致了我的问题。我的应用程序将始终在后台运行。我还尝试将dispatch_async用于静默推送停止的其他任务,然后在静默推送的处理程序方法被命中时也是如此。它正在阻止正常流动。有没有解决这个问题的方法。 非常感谢任何帮助。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{ // 1
if (initListner == NULL) {
initListner = [[InitializeListeners alloc]init];
}
[initListner stopNotifying];
[initListner startNotifying];
if (bgTask == UIBackgroundTaskInvalid) {
bgTask = [application beginBackgroundTaskWithExpirationHandler: ^ {
[self BackgroundtaskInvalidate];
}];
}
});
你可以在" BackgroundtaskInvalidate"并且在发生此问题的同时发出静音推送通知