- (void)applicationDidEnterBackground:(UIApplication *)application { [[UIApplication sharedApplication]setApplicationIconBadgeNumber:0];//進入前台取消應用消息圖標 UIApplication* app = [UIApplication sharedApplication]; __block UIBackgroundTaskIdentifier bgTask; bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ dispatch_async(dispatch_get_main_queue(), ^{ if (bgTask != UIBackgroundTaskInvalid) { bgTask = UIBackgroundTaskInvalid; } }); }]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ dispatch_async(dispatch_get_main_queue(), ^{ if (bgTask != UIBackgroundTaskInvalid) { bgTask = UIBackgroundTaskInvalid; } }); }); }
好了,這就是我的解決辦法,不用系統的電話服務照樣可以喚醒程序不被睡眠,導致後台推送不過來消息。。
謝謝大家,我們以後可以多多學習,多多進步。。
PS:不知道別的辦法是什麼,有別的辦法的可以給我留言,我們一同探討。。