Xcode 10.1-Swift 4.2-locationManager(_:didUpdateLocations :)已重命名为locationManager(_:didUpdate :)

时间:2019-02-05 18:45:54

标签: ios swift xcode core-location

我对核心位置有一个奇怪的问题,这个问题刚开始发生在我使用Xcode 10.1的Swift 4.2项目中: 现在,编译器将拒绝CLLocationManagerDelegate的以下方法实现:

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

我遇到以下错误:

  

'locationManager(:didUpdateLocations :)'已重命名为   'locationManager(:didUpdate:)'

enter image description here

但是,最新的Apple文档未记录此更改,更新参数名称会导致出现以下警告,这似乎表明它是Xcode错误:

  

实例方法'locationManager(:didUpdate :)'几乎匹配   的可选要求'locationManager(:didUpdateLocations :)   协议“ CLLocationManagerDelegate”。   重命名为“ locationManager(_:didUpdateLocations :)”以满足此要求

enter image description here

此外,这仅在构建Simulator设备时发生。为运行早期iOS版本(11.4.2)的iPhone进行构建时,没有出现此错误。
更改参数名称仅适用于模拟器(即调用该方法),但不适用于我的设备。因此,现在我所在的位置是每次从Simulator迁移到设备时都需要更新代码,反之亦然。

任何有关如何摆脱这个问题的建议,将不胜感激!

0 个答案:

没有答案