Tag: 核心位置

重大更改位置API在终止/暂停时的行为?

这是CLLocationManager文档中用startMonitoringSignificantLocationChanges描述应用行为的部分 : 如果您启动此服务,并且您的应用程序随后终止,则系统会在新事件到达时自动将应用程序重新启动到后台。 在这种情况下,传递给应用程序委托的应用程序:didFinishLaunchingWithOptions:方法的选项字典包含UIApplicationLaunchOptionsLocationKey键,以指示您的应用程序是由于位置事件而启动的。 重新启动后,您仍然必须configuration位置pipe理器对象,并调用此方法继续接收位置事件。 当您重新启动位置服务时,当前事件会立即传送到您的委托。 另外,即使在启动位置服务之前,您的位置pipe理器对象的位置属性也会填入最近的位置对象。 所以我的理解是,如果你的应用程序终止(我假设如果你不从applicationWillTerminate调用stopMonitoringSignificantLocationChanges ),你会被唤醒一个UIApplicationLaunchOptionsLocationKey参数应用程序:didFinishLaunchingWithOptions 。 在这一点上,你创build你的CLLocationManager ,调用startMonitoringSignificantLocationChanges并在有限的时间内做你的后台定位处理。 所以我很好,这一点。 前面的段落只是说明应用程序终止时会发生什么,而不会提示应用程序暂停时的操作。 didFinishLaunchingWithOptions的文档说: 应用程序在后台跟踪位置更新,被清除,现在已经重新启动。 在这种情况下,字典中包含一个键,指示应用程序由于新的位置事件而重新启动。 build议您只有在您的应用程序启动后(由于位置更改)才会收到此通知。 然而, 位置感知编程指南中 重要变更服务的段落如下: 如果您退出此服务并且您的应用程序随后被暂停或终止,则服务会在新的位置数据到达时自动唤醒您的应用程序。 在起床时,您的应用程序将被放入后台,并给予less量时间来处理位置数据。 因为你的应用程序在后台,所以它应该做最less的工作,并避免任何可能阻止它在分配的时间到期之前返回的任务(例如查询networking)。 如果没有,您的申请可能会被终止。 这表明,如果您的应用已被暂停,您将被位置数据唤醒,但未能提及您是如何被唤醒的: UIApplicationDelegate是否得到一个callback告诉我,我正在从挂起状态恢复到后台状态? 位置pipe理器(当应用程序被暂停时被冻结)开始接收locationManager:didUpdateToLocation:fromLocationcallback? 我是否只需要在我的didUpdateToLocation消息中实现代码来检查应用程序状态,并在后台模式下进行最less的处理? 在写这篇文章的过程中,我想我可能只是回答了我自己的问题,但如果我对这个问题有更深入的了解,我的理解会很棒。

当前位置权限对话消失得太快

我的应用程序需要用户的位置,获得坐标,并提供到目的地或来源的距离。 所有这些可能的目的地都以表格的forms显示出来,所以我在填充表格的同时获取用户坐标。 唯一的问题是,要求显示用户位置的警报视图会很快消失,因此无法点击它! 有什么办法来手动提出这个警报时,第一次加载应用程序? 我尝试获取用户的位置,当应用程序加载试图强制警报显示,但没有奏效。

iOS – MKMapView通过使用地址代替lat / long来放置注释

我能够使用纬度和经度在我的MKMapView注释,但是,我的饲料进来,我需要使用的位置是使用街道地址,而不是经纬度和长。 如东1234,东1234,旧金山,加州… 这是否与CLLocationManager ? 有没有人尝试过呢?

didFailWithError:错误域= kCLErrorDomain代码= 0“操作无法完成。 (kCLErrorDomain错误0.)“

我想获得当前的位置,但是我得到一个错误。 这是我的视图控制器的一个片段。 – (void)viewDidLoad { self.locationManager = [[CLLocationManager alloc] init]; [locationManager setDelegate:self]; [locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters]; [locationManager startUpdatingLocation]; } – (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations { // I would get the latest location here // but this method never gets called } – (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error { NSLog(@"didFailWithError: %@", error); } 我期待的委托方法locationManager:didUpdateLocations:得到调用,而是,只有locationManager:didFailWithError:被调用,并打印这个: didFailWithError: Error Domain=kCLErrorDomain Code=0 […]

带有PhoneGap的iPhone上的位置权限提醒

你如何改变警报上的string: (应用程序/不pipe它是什么)想要使用你的当前位置 当然,我只想更改appname部分。 因为当你使用PhoneGap框架的时候,这个string非常难看,就像这样: /var/mobile/Applications/157EB70D-4AA7-826E-690F0CBE0F/appname.app/www/index.html 有人有一个想法?

在iOS9的CLLocationManager中allowBackgroundLocationUpdate

我在我的应用程序在Xcode7(预发布)中使用CoreLocation框架,我注意到在CLLocationManager类中有一个新增的属性叫allowsBackgroundLocationUpdates 。 此属性与“function”选项卡的“后台模式”中的位置更新之间有什么关系? 它的默认值是什么,它会影响在iOS9中运行的应用程序吗?

获取iOS应用程序的位置更新即使在暂停状态

在2014年初,苹果公司已经将iOS 7.0升级到了7.1版本,即使应用程序在前台而不是在后台处于活动状态,也允许进行位置更新。 我们怎么做? 我已经阅读了一些文章,如苹果的iOS 7.1将修复一个地理定位错误 。 但是苹果公​​司并没有提供相关的通信,也没有提供任何关于如何获取位置更新的示例代码,即使应用程序被终止/终止/挂起。 我已阅读iOS 7.1发行说明 。 我也找不到与此相关的任何内容。 那么,即使应用程序被暂停,我们如何才能真正获得iOS 7和8的位置更新?