Соответствует протоколу CBCentralManagerDelegate - PullRequest
0 голосов
/ 28 мая 2019

Я получаю Нет типа или протокола с именем 'CBCentralManagerDelegate' в файле project-Swift.h.Не уверен, где я иду не так здесь.Я думаю, что это как-то связано с swift.h, но я новичок в CoreBluetooth, поэтому может быть, что

@objcMembers
class KestrelDeviceConnect: NSObject, CBCentralManagerDelegate, CBPeripheralManagerDelegate {

    var manager:CBCentralManager!
    var peripheral:CBPeripheral!
    let serviceCBUUID = CBUUID(string: "0x181A")
    var FieldSummaryModalLoaded = false

    override init() {
        super.init()
        manager = CBCentralManager(delegate: self, queue: nil)
    }

    @objc func fieldSummaryReportMCLoaded(){
        FieldSummaryModalLoaded = true
    }
    @objc func fieldSummaryReportMCChanged() {
        FieldSummaryModalLoaded = false
    }


    func getWeatherReading() -> WeatherThirdPartyReadings {

        var weatherReading = WeatherThirdPartyReadings(temperature: 0.00, speed: 0.00, direction: 0.00, observationTime: 0.00, isSummaryLoaded: false)

        manager.scanForPeripherals(withServices: nil)
        return weatherReading
    }

    func centralManagerDidUpdateState(_ central : CBCentralManager){

        switch central.state {
            case .poweredOff:
                print("off")

            case .poweredOn:
                print("on")
                manager.scanForPeripherals(withServices: [serviceCBUUID])
            case .resetting:
                print("resetting")

            case .unauthorized:
                print("unauthorized")
            case .unknown:
                print("unknown")

            case .unsupported:
                print("unsupported")

            default:
                break
        }
    }
    func peripheralManagerDidUpdateState(_ peripheral: CBPeripheralManager) {

    }

}

1 Ответ

0 голосов
/ 29 мая 2019

Пришлось #import <CoreBluetooth/CoreBluetooth.h> в соединительном заголовке

...