1

我已經完成了一個使用位置更新作爲背景模式的應用程序,並且在每個使用webservice的keepAlive間隔後更新我的位置。我正在使用下面提到的代碼。位置更新後臺模式應用程序被拒絕

if ([application respondsToSelector:@selector(setKeepAliveTimeout:handler:)]) 
    { 
     [application setKeepAliveTimeout:120 handler:^{ 

      DDLogVerbose(@"KeepAliveHandler"); 

      // Do other keep alive stuff here. 
     }]; 
    } 
    self.bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ 
     NSLog(@"ending background task"); 
     [[UIApplication sharedApplication] endBackgroundTask:self.bgTask]; 
     self.bgTask = UIBackgroundTaskInvalid; 
    }]; 


    self.backgroundTimerForLocationUpdate = [NSTimer scheduledTimerWithTimeInterval:120 
                      target:self 
                      selector:@selector(changeAccuracy) 
                      userInfo:nil 
                      repeats:YES]; 

和在該位置的委託,我呼籲在服務器上更新位置的網絡請求,來跟蹤用戶。

蘋果是否會拒絕使用位置更新背景模式的應用程序。

+0

不應該是一個問題...位置後臺服務是可以接受的。 – CW0007007

回答

1
Will apple reject the app for using the location update background mode. 

According to the Apple Documentation你只被允許,如果你的iOS App

Playing and Recording Background Audio播放或記錄持續(甚至在應用程序在後臺運行)的音頻可以註冊在後臺執行這些任務的應用程序。 Tracking the User’s LocationImplementing a VoIP Client (Voice over Internet Protocol)。所以因此在所有但最後的結果沒有問題將由Apple Review Team

好運

+0

您的鏈接不再有效 – mcphersonjr

1

聲明,如果你開始或停止位置更新,而應用程序在後臺蘋果將拒絕申請。

但是,您可以通過方法「startMonitoringSignificantLocationChanges」獲取最新的位置更新。它將在應用程序處於後臺時更新當前位置值,以及何時進入前臺模式,您將擁有最新的位置信息以執行任何子序列活動。

+0

是的,這是推薦的方式。然而,重要的位置更改監控工作方式在iOS7中發生了變化:http://stackoverflow.com/questions/18639976/significant-blocation-change-event-in-ios7-background-service-call因此您將無法跟蹤用戶的位置,除非您的應用程序未被用戶或操作系統殺死:( – lnjuanj

相關問題