Swift Xcode 9+上的自定义位置;只会导致didUpdateLocations只触发一次

Swift Xcode 9+上的自定义位置;只会导致didUpdateLocations只触发一次,swift,xcode,Swift,Xcode,我有一个利用CoreLocation的应用程序。由于某些原因,当我使用Xcode 9甚至9.1 beta 2时,在iPhone模拟器中的“调试>位置>自定义位置”下设置自定义位置坐标并没有按预期工作 当我应用自定义坐标时,didUpdateLocations只被调用一次或三次,然后位置服务关闭,位置箭头变成一个轮廓。我知道你们大多数人会说,我不应该在模拟器上测试定位服务,但我没有选择,因为我目前没有访问设备的权限 我提供了一些简单的代码,用于访问用户位置并不断更新。如果可以,请在您的iPhone

我有一个利用CoreLocation的应用程序。由于某些原因,当我使用Xcode 9甚至9.1 beta 2时,在iPhone模拟器中的“调试>位置>自定义位置”下设置自定义位置坐标并没有按预期工作

当我应用自定义坐标时,
didUpdateLocations
只被调用一次或三次,然后位置服务关闭,位置箭头变成一个轮廓。我知道你们大多数人会说,我不应该在模拟器上测试定位服务,但我没有选择,因为我目前没有访问设备的权限

我提供了一些简单的代码,用于访问用户位置并不断更新。如果可以,请在您的iPhone模拟器上使用Xcode 9+(ios 11+)进行测试,并将自定义纬度和经度设置为Debug>Locations>custom Location,然后查看是否存在相同的问题

import UIKit
import CoreLocation

class ViewController: UIViewController, CLLocationManagerDelegate {

    let locationManager = CLLocationManager()

    override func viewDidLoad() {
        super.viewDidLoad()

        locationManager.requestWhenInUseAuthorization()
        locationManager.delegate = self
        locationManager.desiredAccuracy = kCLLocationAccuracyBest
        locationManager.startUpdatingLocation()

    } 

    func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
        if let location = locations.first {
            print(location.coordinate)
        }
    }

}

可能重复?可悲的是,这些解决方案都不适用@ClaudioI我将三个隐私位置键放入plist并执行代码,每当我更改自定义位置时,就会打印新的坐标。你测试得怎么样?嗯,很有趣@Claudio,我的plist中还有三个隐私密钥。我正在使用iPhoneX、8、8 plus和7个模拟器。我注意到的一件奇怪的事情是,如果我在调试位置将位置设置为Apple、city run等,它会像正常情况一样工作,并且每秒更新一次位置。当我将它设置为任何自定义位置时,它会工作一秒钟,然后在此处停止调用,但请注意,只有当位置更改时,didupdatelocation才会触发。所以,这是正常的工作。