IOS 在不開啟電話語音的時候,可以響應伺服器的推送訊息,從而接收伺服器的推送訊息,ios電話語音

來源:互聯網
上載者:User

IOS 在不開啟電話語音的時候,可以響應伺服器的推送訊息,從而接收伺服器的推送訊息,ios電話語音

    • 在做即時通訊(基於xmpp架構)的時候遇到這樣一個問題,就是在真機測試的時候,你按Home鍵返回案頭,在你返回案頭的時候,這是你的程式的掛起狀態的,在你掛起的時候,
    • 相當於你的程式是死的,程式的所有進程全部是睡眠狀態,所有這時候你做任何操作,都是無用的,手機永遠也接收不到你的任何訊息推送,因為在這裡,手機處於休眠狀態,這時候你必須要把他喚醒,才能正常的接收你所推送過來的訊息,當時我的應用程式是開啟了電話語音,因為電話語音永遠都是讓手機保持喚醒狀態,所有在你手機處於任何狀態的時候,都可以接到電話的,所有這就是電話語音。我當時用的就是這樣的一個服務,使我的程式不被睡眠,當我上架AppStore的時候,被蘋果拒絕了,所有絞盡腦汁想到了一個解決方案.是添加的電話語音,在我添加這樣的服務時候,蘋果商店不讓上架AppStore的。所以我想了別的辦法

    • 是解決的辦法:
    • 在AppDelegate中。添加上這麼一段代碼即可。
 1 - (void)applicationDidEnterBackground:(UIApplication *)application 2 { 3     [[UIApplication sharedApplication]setApplicationIconBadgeNumber:0];//進入前台取消應用訊息表徵圖 4      5      6     UIApplication*   app = [UIApplication sharedApplication]; 7      8     __block    UIBackgroundTaskIdentifier bgTask; 9     10     bgTask = [app beginBackgroundTaskWithExpirationHandler:^{11         12         dispatch_async(dispatch_get_main_queue(), ^{13             14             if (bgTask != UIBackgroundTaskInvalid)15                 16             {17                 18                 bgTask = UIBackgroundTaskInvalid;19                 20             }21             22         });23         24     }];25     26     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{27         28         dispatch_async(dispatch_get_main_queue(), ^{29             30             if (bgTask != UIBackgroundTaskInvalid)31                 32             {33                 34                 bgTask = UIBackgroundTaskInvalid;35                 36             }37             38         });39         40     });41 42 }

好了,這就是我的解決辦法,不用系統的電話語音照樣可以喚醒程式不被睡眠,導致後台推送不過來訊息。。

謝謝大家,我們以後可以多多學習,多多進步。。

PS:不知道別的辦法是什麼,有別的辦法的可以給我留言,我們一同探討。。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.