iOS開發小技巧--iOS程序進入後臺運行的實現

iOS程序進入後臺運行的實現

  • 視頻中看到老師用的iOS7,代碼中有開啓timer,無限請求數據的功能,可是切換到後臺,代碼就不打印了
  • 本身用的iOS9,進入後臺仍是能夠打印的,再次進入前臺也能夠正常運行,可是功能不實現了
  • 實現程序後臺運行的方法
/**
 *  程序進入後臺後
 *
 *  @param application
 */
- (void)applicationDidEnterBackground:(UIApplication *)application {
    // 向操做系統申請後臺運行的資格,能維持多久,是不肯定的
    UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{
        // 當申請的後臺運行時間已經結束(Expiration:過時),就會調用這個block

        // 趕忙結束任務
        [application endBackgroundTask:task];
    }];

    // 在Info.plist中設置後臺模式:Required background modes = App plays audio or streams audio/video using AirPlay
    // 設置程序爲播放音頻的程序,只是這樣的話,程序後臺運行也會由於運行內存問題掛掉
    // 實現程序後臺一直運行的方案 : (並非說程序就不會掛了,只是延長了壽命)
    // 1.搞一個0KB的MP3文件,沒有聲音
    // 2.循環播放
}

info.plist中的設置如圖:ios

相關文章
相關標籤/搜索