標籤:迴圈播放 狀態 網路電話 注意 objc 自己 真機測試 進入 streams
最多能運行多長時間,沒挑戰過極限,具體能保持多長時間需要自己測試下。
注意:用真機測試
直接上代碼
在appdelegate的.m中的進入後台時加入一些代碼操作即可
- /**
- * 當app進入後台時調用
- */
- - (void)applicationDidEnterBackground:(UIApplication *)application
- {
- /**
- * app的狀態
- * 1.死亡狀態:沒有開啟app
- * 2.前台運行狀態
- * 3.後台暫停狀態:停止一切動畫、定時器、多媒體、連網操作,很難再作其他動作
- * 4.後台運行狀態
- */
- // 向作業系統申請後台啟動並執行資格,能維持多久,是不確定的
- // self.task = [application beginBackgroundTaskWithExpirationHandler:^{
- // // 當申請的後台已耗用時間已經結束(到期),就會調用這個block
- //
- // // 趕緊結束任務
- // [application endBackgroundTask:self.task];
- // }];
- __block UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{
- // 當申請的後台已耗用時間已經結束(到期),就會調用這個block
-
- // 趕緊結束任務
- [application endBackgroundTask:task];
- }];
-
- /**
- 1.定義變數UIBackgroundTaskIdentifier task
- 2.執行右邊的代碼
- [application beginBackgroundTaskWithExpirationHandler:^{
- // 當申請的後台已耗用時間已經結束(到期),就會調用這個block
-
- // 趕緊結束任務
- [application endBackgroundTask:task];
- }];
- 3.將右邊方法的傳回值賦值給task
- */
-
-
- // 在Info.plst中設定後台模式:Required background modes == App plays audio or streams audio/video using AirPlay
- // 搞一個0kb的MP3檔案,沒有聲音
- // 迴圈播放
-
- // 以前的後台模式只有3種
- // 保持網路連接
- // 多媒體應用
- // VOIP:網路電話
- }
iOS開發簡單的實現背景工作(諸如後台播放音樂,定時器,後台定位等)