應用程序進入后臺任然可以工作的開發思路

1. NSNumber對象賦值NSString會報錯。[__NSCFNumber isEqualToString:]; unrecognized selector sent to instance 0x9f59530

2. NSNumber轉成NSString可以調用description方法,[responseObject[@"status"] description];

3. 如果刷新成功之后,在刷新成功之后就清空提醒消息數字。

4. 默認加到runloop,的模式修改一下,CommonModel就可以湊出時間做其他的事件。

5. 進入后臺定時器就暫停工作了。要想讓程序進入后臺的時候也想做一些事情的時候,app delegate里-(void)applicationDidEnterBackground:(UIApplication *)application; //當app進入后臺時調用,可以讓程序進入后臺運行狀態,定時器,多媒體操作。

6. 后臺暫停狀態:停止一切動畫、定時器、多媒體、聯網操作、很難再做其他的操作了。

7. 后臺運行狀態:進入后臺的調用方法,[application beginBackgroundTaskWithExpirationHandler:^{ // ? ?}];// 向操作系統申請后臺運行的資格,能維持多久,是不確定的。

開發代碼:

/**

*? 當app進入后臺時調用

*/

- (void)applicationDidEnterBackground:(UIApplication *)application

{

/**

*? app的狀態

*? 1.死亡狀態:沒有打開app

*? 2.前臺運行狀態

*? 3.后臺暫停狀態:停止一切動畫、定時器、多媒體、聯網操作,很難再作其他操作

*? 4.后臺運行狀態

*/

// 向操作系統申請后臺運行的資格,能維持多久,是不確定的

UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{

// 當申請的后臺運行時間已經結束(過期),就會調用這個block

// 趕緊結束任務

[application endBackgroundTask:task];

}];

// 在Info.plst中設置后臺模式:Required background modes == App plays audio or streams audio/video using AirPlay

// 搞一個0kb的MP3文件,沒有聲音

// 循環播放

// 以前的后臺模式只有3種

// 保持網絡連接

// 多媒體應用

// VOIP:網絡電話

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容