Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS重要位置更改更新(位置更新频率)_Ios_Ios8_Cllocationmanager - Fatal编程技术网

iOS重要位置更改更新(位置更新频率)

iOS重要位置更改更新(位置更新频率),ios,ios8,cllocationmanager,Ios,Ios8,Cllocationmanager,在我的应用程序中,当用户的位置发生重大变化时,我需要能够让应用程序从终止状态打开,因此我调用了CLLocationManager的startMonitoringSignificantLocationChanges方法,该方法正是这样做的 该应用程序正在按它应该的方式打开,但问题是我在很长一段时间后得到了位置更改更新,例如20分钟,即使我移动了1000米,有时我根本没有得到任何更新。我需要在500米后更新这个。如果它等待很长一段时间对我来说并不重要,但我需要它在500米后更新,根据苹果的文档,这被

在我的应用程序中,当用户的位置发生重大变化时,我需要能够让应用程序从终止状态打开,因此我调用了CLLocationManager的startMonitoringSignificantLocationChanges方法,该方法正是这样做的

该应用程序正在按它应该的方式打开,但问题是我在很长一段时间后得到了位置更改更新,例如20分钟,即使我移动了1000米,有时我根本没有得到任何更新。我需要在500米后更新这个。如果它等待很长一段时间对我来说并不重要,但我需要它在500米后更新,根据苹果的文档,这被认为是一个重大的位置变化

有人能帮我看看我做错了什么吗?为什么我有时在30多分钟后根本没有得到任何更新,即使我已经移动了500米

当应用程序检测到显著的位置更改时,将调用此方法。我使用iOS模拟器定位-高速公路驾驶进行测试,因为我厌倦了到处开车


提前谢谢

这个问题有什么解决办法吗?可能是电池使用问题?
- (void) checkIfSignificantLocationChange : (NSDictionary *) launchOptions {

    // Application is launched because of a significant location change
    if ([launchOptions objectForKey:UIApplicationLaunchOptionsLocationKey])
    {
        bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
            [[UIApplication sharedApplication] endBackgroundTask:bgTask];
        }];
        CLLocationManager *locationManager = [CLLocationManager new];
        CLLocation *location = [locationManager location];
        [locationManager startMonitoringSignificantLocationChanges];

        if (bgTask != UIBackgroundTaskInvalid)
        {
            //Clean up code. Tell the system that we are done.
            [[UIApplication sharedApplication] endBackgroundTask: bgTask];
            bgTask = UIBackgroundTaskInvalid;
        }
    }
}