当前位置:  开发笔记 > IOS > 正文

startMonitoringSignificantLocationChanges在swift中不起作用

如何解决《startMonitoringSignificantLocationChanges在swift中不起作用》经验,为你挑选了1个好方法。

我在AppDelegate文件中使用Swift在我的应用程序中添加了CLLocationManager.

在Appdelegate.swift文件中,

import CoreLocation
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, CLLocationManagerDelegate {
var locationManager: CLLocationManager!

在didbecomeActive方法中:

func applicationDidBecomeActive(application: UIApplication) {
    if((locationManager) != nil)
    {
        locationManager.stopMonitoringSignificantLocationChanges()
        locationManager.delegate = nil
        locationManager = nil
    }
    locationManager = CLLocationManager()
    locationManager.delegate = self
    locationManager.desiredAccuracy = kCLLocationAccuracyBest
    locationManager.activityType = CLActivityType.OtherNavigation
    locationManager.requestAlwaysAuthorization()
    locationManager.startMonitoringSignificantLocationChanges()
}

如果我使用startUpdatingLocation,didUpdateLocations方法被调用,但不是startMonitoringSignificantLocationChanges.

为什么没有被要求startMonitoringSignificantLocationChanges.我在ios模拟器中测试这个.我不知道如何检查设备.



1> michal.ciuru..:

它正在工作,但是很难触发显着的位置变化 - 通常在设备更换单元塔时发生 - 我不认为可以使用模拟器.

你可能不得不坐上自行车/汽车并且行驶至少几公里.

你可以使用一个技巧,这将触发重大的位置变化:

在iPhone上以几秒的间隔开启和关闭Airplaine模式,它应该诱使设备认为它改变了单元塔并触发了重要的位置变化.

在此输入图像描述

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有