在 Location Manager Delegate 上出错

Getting error on Location Manager Delegate

我正在尝试使用从

获得的代码 https://github.com/Intermark/Buoy/tree/master/Buoy/Swift

我在 BUOYListener.swift 和 enter code hereBUOYBeacon.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]