簡體   English   中英

iOS 7背景計時器

[英]iOS 7 Background Timer

我有一個應用程序(iOS 7+),一旦該應用程序進入后台,我需要在“ n”分鍾(始終大於3分鍾)后調用網絡服務。 調用該Web服務后,需要每45秒調用另一個Web服務。

Web服務的調用需要用戶的當前位置。 因此,我正在使用用戶位置,並且在info.plist文件中也有相應的條目。

我在applicationdidEnterBackground有以下代碼

CLLocationManager * manager = [[CLLocationManager alloc]init];
__block UIBackgroundTaskIdentifier background_task;

background_task = [application beginBackgroundTaskWithExpirationHandler:^ {
    [application endBackgroundTask: background_task];
    background_task = UIBackgroundTaskInvalid;

}];

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

    [manager startUpdatingLocation];

    while(TRUE)
    {
        //backgroundTimeRemaining time does not go down.

        NSLog(@"Background time Remaining: %f",[[UIApplication sharedApplication] backgroundTimeRemaining]);
        [NSThread sleepForTimeInterval:1]; //wait for 1 sec
    }

    [application endBackgroundTask: background_task];
    background_task = UIBackgroundTaskInvalid;
});

關於我如何在后台連續運行大於3的“ n”分鍾,請您能幫我一下嗎?

請參閱后台提取處理程序。 在一定程度上可以幫助您。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM