1. 程式人生 > >ios實現程式切入後臺,實現後臺任…

ios實現程式切入後臺,實現後臺任…

1,專案需求,是程式home鍵切入後臺,3分鐘後退出登陸,

  首先,iOS 會再持續切入後臺,給我們5秒鐘的時間去處理相關資料,5秒後,程式不會再執行任何程式碼,處於掛起狀態。

- (void)applicationDidEnterBackground:(UIApplication *)application {

//切入後臺 ,申請後臺任務時間,

UIApplication *app = [UIApplication sharedApplication];

UIBackgroundTaskIdentifier taskID;//一個後臺任務識別符號

taskID = [app beginBackgroundTaskWithExpirationHandler:^{

//如果系統覺得我們執行時間太長,將執行這個程式塊,並停止執行應用程式

        [app endBackgroundTask:taskID];

    }];

if (taskID == UIBackgroundTaskInvalid) {//UIBackgroundTaskInvalid表示系統沒有為我們提供額外的時間

       return;

    }

    [self performSelector:@selector(exitApp) withObject:nil afterDelay:180.0];//退入後臺 延時3分鐘,退出登陸

}

- (void)applicationWillEnterForeground:(UIApplication

*)application {

    [[UIApplication sharedApplication] endBackgroundTask:taskID];//切回前臺,結束後臺任務

    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(exitApp) object:nil];//取消之前將要退出的方法

}

參考部落格  http://blog.csdn.net/diyagoanyhacker/article/details/7071055