在 Location Manager Delegate 上出错
Getting error on Location Manager Delegate
我正在尝试使用从
获得的代码
https://github.com/Intermark/Buoy/tree/master/Buoy/Swift
我在 BUOYListener.swift 和 enter code here
BUOYBeacon.swift 中收到以下错误
知道如何解决这个问题吗?
从 Swift 2.0 开始,Swift 编译器要求方法签名与您正在实现的协议严格匹配。在这种情况下,这是 CLLocationManagerDelegate 和 CBPeripheralManagerDelegate。
didRangeBeacons 的正确 Swift 签名是:
func locationManager(manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], inRegion region: CLBeaconRegion)
对于peripheralManagerDidUpdateState:
func peripheralManagerDidUpdateState(peripheral: CBPeripheralManager)
最后,startAdvertising 需要 [String: AnyObject]
字典,但您正在将 peripheralData 转换为 [NSObject: AnyObject]
.请改用以下强制转换:
self.beaconRegion.peripheralDataWithMeasuredPower(nil) as! [String: AnyObject]
我正在尝试使用从
获得的代码 https://github.com/Intermark/Buoy/tree/master/Buoy/Swift
我在 BUOYListener.swift 和 enter code here
BUOYBeacon.swift 中收到以下错误
知道如何解决这个问题吗?
从 Swift 2.0 开始,Swift 编译器要求方法签名与您正在实现的协议严格匹配。在这种情况下,这是 CLLocationManagerDelegate 和 CBPeripheralManagerDelegate。
didRangeBeacons 的正确 Swift 签名是:
func locationManager(manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], inRegion region: CLBeaconRegion)
对于peripheralManagerDidUpdateState:
func peripheralManagerDidUpdateState(peripheral: CBPeripheralManager)
最后,startAdvertising 需要 [String: AnyObject]
字典,但您正在将 peripheralData 转换为 [NSObject: AnyObject]
.请改用以下强制转换:
self.beaconRegion.peripheralDataWithMeasuredPower(nil) as! [String: AnyObject]