- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
当 locationManager 设置为 startMonitoringSignificantLocationChanges()
时,我无法在物理设备上显示位置。
模拟器中一切正常,但当我让它在我的 iPhone 上运行时,没有返回坐标,如果我将它更改为 startUpdatingLocation()
,它就可以在我的物理设备上运行。
知道哪里出了问题吗?
我的代码:
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
startReceivingSingificantLocationChanges()
}
func startReceivingSingificantLocationChanges() {
if !CLLocationManager.significantLocationChangeMonitoringAvailable() {
//the service is not available
print("Service is not available")
return
}
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
locationManager.startMonitoringSignificantLocationChanges()
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.first{
print(location.coordinate)
coordinatesLbl.text = "LAT:\(location.coordinate.latitude) LONG:\(location.coordinate.longitude)"
}
}
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
if status == CLAuthorizationStatus.denied{
showLocationDisabledPopUp()
print("didChangeAuthorization")
}
}
最佳答案
The documentation在 startMonitoringSignificantLocationChanges()
状态下:
Apps can expect a notification as soon as the device moves 500 meters or more from its previous notification. It should not expect notifications more frequently than once every five minutes. If the device is able to retrieve data from the network, the location manager is much more likely to deliver notifications in a timely manner.
因此,在使用此方法时,您不应该经常期望它们。
startUpdatingLocation
更频繁地更新,这就是它起作用的原因。
关于swift - startMonitoringSignificantLocationChanges() 在物理设备上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52832040/
我正在开发一个导航应用程序,一切都在终止、背景和前景基态下工作。但是在终止状态的一种情况下,startMonitoringSignificantLocationChanges 不会自行处理。 问题是
我正在使用 IOS 4.01 的 3GS 上测试一个使用 startMonitoringSignificantLocationChanges 的应用(我希望我的应用能够在任何版本的 IOS4 中运行,
我是 iPhone 应用程序开发的初学者,但我正在尝试制作一个应用程序,基本上每隔一段时间更新一次您的位置,当它不在前台时,这样我就可以绘制一个人在什么时候去过的地方他/她启动了一个应用程序。我以为我
在重大变更位置服务中,我使用了“startMonitoringSignificantLocationChanges”方法,但它仅返回缓存的位置,不返回更新的位置信息。我使用过 Swift 语言。 最佳
我正在开发一个 ios (swift) 应用程序,它通过 API 将 CLLocationManager startUpdatingLocation 的位置发送到服务器。为了节省电池和数据,我不想在设
我想在我的应用程序中使用 startMonitoringSignificantLocationChanges,但我有一些问题,希望得到一些帮助: 对于一个普通的应用程序,如果应用程序进入后台,10 分
当 locationManager 设置为 startMonitoringSignificantLocationChanges() 时,我无法在物理设备上显示位置。 模拟器中一切正常,但当我让它在我的
我在更新用户位置时遇到奇怪的问题。有时我的应用会更新位置,但有时会中断更新。我不知道问题出在哪里,我的代码(来自 AppDelegate.m)如下: - (void)applicationDidEnt
我想知道 startmonitoringsignificantlocationchanges 使用什么来提供位置,是 GPS 还是 Wifi/Internet?我的理解是它使用蜂窝或 wifi,以了解
我有一个客户端应用程序,要求我使用 startMonitoringSignificantLocationChanges() 方法,但是当我静止不动并且有一段时间没有移动时,它仍会触发。 我的位置管理器
我在 AppDelegate 文件中使用 Swift 在我的应用程序中添加了 CLLocationManager。 在 Appdelegate.swift 文件中, import CoreLocati
我正在开发一个需要将当前位置发送到服务器的 iPhone 应用程序,以便它知道要发送什么推送通知。它不必非常精确,startMonitoringSignificantLocationChanges 非
我正在编写 iPhone 应用程序并使用定位服务。我正在 CLLocationManager 上使用 startMonitoringSignificantLocationChanges 方法。 (据我
我尝试使用 GoogleMap SDK 记录用户正在走的路径。我正在使用折线在 map 上绘制线条,以向用户显示所采取的路径。为了减少生成的坐标并使线条看起来干净(而不是看起来弯曲),我调用 CLLo
根据 apple 文档,我使用 post iOS4 方法 startMonitoringSignificantLocationChanges 方法: For applications that do
我正在使用 IBeacon 构建一个简单的 ios 应用程序,我正在使用 startMonitoringForRegion 来检测信标。 [self.locationManager startMoni
我正在开发一个具有以下要求的简单应用:任务将在给定位置开始,当用户离开一定距离后,任务应自动结束。 我目前正在使用 CLLocationManager 的 startUpdatingLocation
我是 iPhone 编程新手。我正在寻找有关如何将 startMonitoringSignificantLocationChanges 方法与 CoreLocation 管理器一起使用的示例或演示。
startMonitoringSignificantLocationChanges 是为背景添加的,委托(delegate)“- (void)locationManager:(CLLocationMa
我有一个非常奇怪的行为。我正在编写一个同时使用获取和位置后台模式的应用程序(不知道这对问题很重要)。我使用委托(delegate)正确设置了 CLLocationManager,并开始监视 AppDe
我是一名优秀的程序员,十分优秀!