相关疑难解决方法(0)

为"超本地"应用程序获取用户位置(也处于被杀死状态)的适当方法

要求 -我正在构建一个超本地应用程序,它将根据用户的位置为用户提供服务.在应用程序中我可以获得他当前的位置并相应地显示优惠,但我现在需要的是根据他的位置向用户发送推送通知.所以我想找出用户的位置并根据他的位置发送优惠.

我已经阅读了有关重大变更位置服务的 Apple文档,但后来这个答案说,一旦应用程序被杀,它将无法运行.

我还阅读了有关跟踪用户位置的信息,但这对我来说无效.我在后台没有获得超过5个更新.

我目前的代码viewDidLoad-

if (self.locationManager == nil)
{
     self.locationManager = [[CLLocationManager alloc] init];
     self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
     self.locationManager.delegate = self;
     self.locationManager.allowsBackgroundLocationUpdates = true;
     self.locationManager.pausesLocationUpdatesAutomatically = false;
     if ([CLLocationManager authorizationStatus] != AVAuthorizationStatusAuthorized) {
         [self.locationManager requestAlwaysAuthorization];
     }
}
[self.locationManager startUpdatingLocation];
Run Code Online (Sandbox Code Playgroud)

我的委托方法看起来像这样 -

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {   
   if (UIApplication.sharedApplication.applicationState == UIApplicationStateActive) {
       // Get updated data according to location
   } else {
       // Send location to server
   }
}
Run Code Online (Sandbox Code Playgroud)

我的应用程序功能和我的plist - 在此输入图像描述 在此输入图像描述

请建议一些适当的方式,我可以生活在1公里左右的精度. …

objective-c cllocationmanager ios swift background-mode

7
推荐指数
1
解决办法
941
查看次数