我正在编写包含地理位置跟踪功能的iOS应用。 在我的.plist中,我已经放了
<key>UIBackgroundModes</key>
<array>
<string>location</string>
</array>
也要确保应用未在后台暂停。
关键的GPS代码在我的appDelegate中,看起来像这样:
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
BOOL isInBackground = NO;
if ([UIApplication sharedApplication].applicationState == UIApplicationStateBackground) {
isInBackground = YES;
}
if (isInBackground) {
[self sendBackgroundLocationToServer:[locations lastObject]];
} else {
// If we're not in the background wait till the GPS is accurate to send it to the server
if ([[locations lastObject] horizontalAccuracy] < 100.0f) {
[self sendDataToServer:[locations lastObject]];
}
}
}
但是,我的应用程序在后台暂停一段时间后停止将新位置记录到我的服务器。
可能是什么原因,我该如何解决?
感谢您的建议