- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过附近的蓝牙设备进行连接。我能够发现但无法连接它们。
这个代表正在工作,但在发现我正在尝试连接其中一个外围设备之后
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
if let device = (advertisementData as NSDictionary).object(forKey: CBAdvertisementDataLocalNameKey) as? String {
print(device)
if device.contains("BODY") {
self.connectPeripheral = peripheral
self.connectPeripheral.delegate = self
self.manager.connect(connectPeripheral, options: nil)
self.manager.stopScan()
}
}
}
这两个委托(delegate)方法没有调用。其中之一应该被调用。
func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
peripheral.delegate = self
peripheral.discoverServices(nil)
}
func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) {
//NSLog("Error %@", error.debugDescription)
print(error.debugDescription)
}
最佳答案
您需要保持对 CBPeripheral 实例的强引用,因为一旦您告诉 Central 停止扫描,它就会释放所有发现的外围设备。
关于ios - CBCentralManager 未连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43739125/
_manager = [[CBCentralManager alloc] initWithDelegate:self queue:nil]; [NSThread sleepForTimeInterva
我想知道如何确定 CBCentralManager 正在扫描哪些外围设备而不使用其他变量,换句话说,仅来自 CBCentralManager 对象。 最佳答案 看起来像是 CBCentralManag
iOS CoreBluetooth 中是否有一种机制,以便在发现(但未连接)外围设备“丢失”时触发事件,即正在广播的外围设备不再广播。 最佳答案 您可以在 CBCentralManager 的 sca
我想停止,然后在 CBCentralManager 上重新开始扫描。我的问题是:我应该在调用 stopScanning() 后等待交易完成,还是立即调用 startScanning()? 我不知道下层
我正在从事一个包括 CoreBluetooth 在内的项目。我研究了该主题并在网上找到了一些教程。 现在我重新创建了其中的一些教程,并且在几乎所有方法中我都遇到了以下错误: Initializer f
我正在尝试通过附近的蓝牙设备进行连接。我能够发现但无法连接它们。 这个代表正在工作,但在发现我正在尝试连接其中一个外围设备之后 func centralManager(_ central: CBCen
我正在尝试按照有关此 page 的教程进行操作,用于列出 BLE 设备并与之通信。 与作者不同,我对制作 GUI 应用程序不感兴趣,宁愿让它基于控制台。 我制作了两个文件来测试蓝牙通信,main.sw
当我运行代码并打开/关闭 MacbookPro 上的蓝牙时,状态始终为 4,对应于 PoweredOff 状态。 import Cocoa import CoreBluetooth @NSApplic
我在我的Objective-c代码中第一次使用CoreBluetooth框架。 我的iPhone版本是iPhone-3GS。 运行代码时,输出为“平台或硬件不支持低功耗蓝牙”。 我看到了3GS规范
是多个 CBCentralManager支持的实例?如果是这样,它们是在哪个版本的 iOS 中开始支持的? 我找到了 multiple emails在 Apple 邮件列表中声明它们不是。但是,这不是
我正在尝试使用 Core Bluetooth 连接两部 iPhone。一个运行外围设备,另一个运行中央设备。看来这两个设备已连接。并且在典型的控制流中调用每个方法,直到 peripheralManag
我想检查我的 iPhone 连接到了哪些蓝牙设备。为此,我使用 CBCentralManager.retrieveConnectedPeripherals()像这样: let connectedPer
我正在开发一个测试 BTLE 应用程序。用户可以选择启动中央或外设模式。如果 2 个设备都处于事件状态并且在范围内,它们会立即检测、连接并传递数据,但是...... 如果设备 1 以中央模式启动然后置
当使用 CBCentralManager 恢复状态时,字典有时会包含扫描的外围设备的 UUID internal func centralManager(_ central: CBCentralMan
我已经使用 CBCentralManager 检测到外围设备, 我用过的代码是这样的, - (void)viewDidLoad { [super viewDidLoad]; // Do
它们有什么区别?我应该什么时候使用 CBCentral 什么时候使用 CBCentralManager? 据我了解,CBCentralManager 和 CBCentral 都用于管理连接,但 CBC
我正在尝试访问 macOS (2017 iMac) 上的蓝牙外围设备,但是 CBCentralManager 似乎从未进入 .poweredOn 状态。 import Cocoa import Cor
是否支持多个 CBCentralManager 实例?我可以在我的应用程序的两个不同 View Controller 中创建两个 CBCentralManager 实例,并且都连接到同一个外围设备吗?
初始化 CBCentralManager 实例(需要委托(delegate)并且通常指向所属类)的好方法是什么? 我可以将该属性声明为隐式展开的可选属性,但作为一般做法,这样做似乎不像 Swift,也
我有一台 Mac,使用 CoreBluetooth 作为 CBPeripheralManager 设置为蓝牙配件。 Mac 在一组特征 CBUUID 上做广告,一旦它有了订阅者,我就单击一个按钮,每半
我是一名优秀的程序员,十分优秀!