在iOS系統(tǒng)上應(yīng)用程序在后臺如何長時間運行
- 播放音樂
- 聲明Audio
- 獲取GPS信號
iOS 長時間后臺的兩種方法
iOS開啟后臺任務(wù)后只有600s的執(zhí)行時間, 大約10分鐘,現(xiàn)在需要實現(xiàn)在后臺保持下載,或者需要在應(yīng)用進入后臺時仍然和服務(wù)器保持連接。
后臺播放一個靜音的音頻
- 就是在后臺一直播放一個無聲的音樂文件,可以輕松的突破600s的限制
- app進入后臺后audiosession不能被打斷,如果另一個程序使用KAudioSessionCategory_RecordAndPlay 或者 kAudioSessionCategory_SoloAmbientSound 那么本程序就會被立即打斷。
- 播放被打斷后可以處理一個通知:audiosessioninterruption。在收到這個通知后可以做相應(yīng)的處理,然后程序會立即被轉(zhuǎn)入到休眠狀態(tài),被系統(tǒng)自動掛起,appdelegateDidEnterBackground回調(diào)函數(shù)會自動調(diào)用。
- 被打斷后建議直接停止下載服務(wù),不需要再等待音頻播放服務(wù)重啟。
VoipSocket
VOIPSocket 可以在后臺運行,當程序進入后臺時,默認應(yīng)用程序會別系統(tǒng)掛起,但是VOIPSocket因為受系統(tǒng)控制所以不在此列。可以在啟動一個voipsocket,這樣可以保證應(yīng)用程序在后臺運行。