這對我來說是什麼工作,我用CLLocationManagerDelegate,註冊更新上didUpdateLocations和應用程序委託
- (void)applicationDidBecomeActive:(UIApplication *)application {
[_locationManager stopMonitoringSignificantLocationChanges];
[_locationManager startUpdatingLocation];
}
我開始更新位置,對我來說,關鍵是當應用程序轉到後臺時,我切換到重要位置更改,以便應用程序不會像這樣排空麪糊:
- (void)applicationDidEnterBackground:(UIApplication *)application {
[_locationManager startMonitoringSignificantLocationChanges];
}
在didUpdateLocations,你可以檢查
BOOL isInBackground = NO;
if ([UIApplication sharedApplication].applicationState == UIApplicationStateBackground)
{
isInBackground = YES;
}
,並開始一個任務在後臺報告的位置,例如
if (isInBackground) {
[self sendBackgroundLocationToServer:self.location];
}
,並開始一個任務,我希望幫助。