热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iOS11,应用程序在用户强行杀死时不更新位置

如何解决《iOS11,应用程序在用户强行杀死时不更新位置》经验,如何解决这个问题?

我正在开发一个需要实时位置跟踪的应用程序,所以我正在使用startMonitoringSignificantLocationChanges,即使应用程序已被用户从应用程序切换器强制退出,我的iOS 10模拟器上的一切正常.通过模拟器进行调试时,我正在使用高速公路驱动器选项,以便位置不断变化.

但是对于iOS 11模拟器: 当应用程序处于后台或前台模式时,服务器会根据用户的实时位置进行更新,但是当应用程序强行退出时,这不会发生.

服务器没有获得更新的位置,我甚至设置断点didFinishLaunching并使用该wait for executable to be launched设置来检查我是否得到回调,但我不适用于iOS 11而且适用于iOS 10.

我还使用iOS 11所需的适当值更新了info.plist,并确认我正在给予"始终"权限.我使用代码使用单例作为位置管理器对象:

func setupLocationManager(){

    locatiOnManager= CLLocationManager()
    locationManager.delegate = self
    locationManager.pausesLocatiOnUpdatesAutomatically= false
    locationManager.allowsBackgroundLocatiOnUpdates= true
    locationManager.requestAlwaysAuthorization()
    locationManager.distanceFilter = 100.0
    locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters
    locationManager.startMonitoringSignificantLocationChanges()
    locationManager.startUpdatingLocation()
}

并在应用程序委托:

if let _ = launchOptions?[UIApplicationLaunchOptionsKey.location] {

        ChatSocketHelper.sharedInstance.socket.on("connect") { data, ack in

            if let coordinate = LocationManager.shared.currentLocation?.coordinate{

                ChatSocketHelper.sharedInstance.updateLocation([coordinate.longitude, coordinate.latitude])
            }
        }   
    }

并在位置代表:

extension LocationManager : CLLocationManagerDelegate{

    func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

        guard let locatiOnObject= locations.last else {return}

        //update to closest accuracy
        currentLocation = locationObject

        if ChatSocketHelper.sharedInstance.socket != nil{
ChatSocketHelper.sharedInstance.updateLocation([locationObject.coordinate.longitude, locationObject.coordinate.latitude])
        }
    }
}

这是iOS 11的一个已知问题,当用户强行杀死时,位置会被破坏吗?当我做了一些挖掘并发现类似的蓝牙问题,但没有重要的位置变化否则.

例如这个链接.

编辑:另外这个关于更新为"慢",但我完全不接收更新帖子会谈.


推荐阅读
author-avatar
峰吹云飞_974
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有