繁体   English   中英

从后台终止应用程序后,iOS更新位置

[英]iOS update location after kill app from Background

在我的项目中,我想跟踪用户位置。 为此,我想基于位置精度(高-> 15分钟和低-> 1小时)更新用户当前位置。 当应用程序运行或在后台运行时,我可以更新位置,但是从后台终止应用程序后,无法更新位置。 我使用计时器来调用它,但是在杀死应用程序(从后台)后,它不起作用。

因此,如果用户也未在后台运行应用程序,那么我现在将根据位置准确性来更新位置。

请提出任何建议。

CoreLocation具有2个许可:

  1. 一种是当用户使用应用程序时。
  2. 第二个是始终更新位置,即使不使用它也是如此。

使用第二个,例如GPS使用的那个。 但是,如果您终止了该应用程序,将停止更新位置。

您需要将NSLocationAlwaysUsage键添加到应用程序info.plist中,然后在希望开始监视时请求权限。

确保您对为什么要始终监视不列颠哥伦比亚省进行了很好的描述,我认为这确实有助于转换率。

    locationManager = [[CLLocationManager alloc] init];
    #define IS_OS_8_OR_LATER ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)

    if(IS_OS_8_OR_LATER)
    {
        [locationManager requestWhenInUseAuthorization];
    }

    locationManager.delegate = self;
    locationManager.distanceFilter = kCLDistanceFilterNone; //whenever we move
    locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;

    [locationManager startUpdatingLocation];

该代码用户位置仅针对正在运行的地面应用程序进行更新,而不会针对后台运行情况进行更新

        if(IS_OS_8_OR_LATER)
        {
            [locationManager requestWhenInUseAuthorization];
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM