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