UIBackgroundTaskIdentifier 進入后台后結束任務再掛起APP


App進入后台,(絕大部分情況下)會暫停執行代碼,進入掛起狀態。

有時候,某個任務進入后台后,我們希望它完成任務后再掛起。可以用UIBackgroundTaskIdentifier標記該任務,任務結束后再結束標記。標記之后的任務,在執行的時候,即使App進入后台,也會執行完成(大約有不超過10分鍾的時間)后再掛起App。

       var counterTask: UIBackgroundTaskIdentifier?
        
        //開始標記為支持后台執行
        counterTask = UIApplication.shared.beginBackgroundTask(expirationHandler: { () -> Void in
            // 超過10分鍾后,會進入到這里
        })
        
        
        //長時間執行任務,(進入后台后,大約有10分鍾的執行時間,超過之后程序會掛起)
        //do something
        
        
        
        //結束標記
        UIApplication.shared.endBackgroundTask(counterTask)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM