swift - 符合 'CBCentralManagerDelegate' 协议
问题描述
我在 project-Swift.h 文件中得到一个名为“CBCentralManagerDelegate”的 No 类型或协议。不知道我哪里出错了。我认为这与 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) {
}
}
解决方案
不得不#import <CoreBluetooth/CoreBluetooth.h>
在桥接头
推荐阅读
- spring-kafka - 为什么异步生产者正在生成 linger.ms 和 batch.size 设置为较大值且 autoFlush 设置为 false 的消息?
- java - Android Studio 从 android 发送到 pc(windows)不起作用?
- python-3.x - 用结构拆分字符串
- python-3.x - 恢复在向量中找到一系列连续正数的行 [已解决]
- php - 获取外部数组的每个第一个键
- javascript - addEventListener 控件
- javascript - 无法弄清楚为什么 undefined 会出现在两个期望的结果之间
- r - 闪亮的绘图在浏览器中看起来不同
- spring-boot - 在 Mongo DB 副本集中添加新成员时,我是否需要更改 Spring Boot 配置
- c++ - C++ 继承更改成员