core-bluetooth相关内容

CoreBluetooth:尝试写入设备

我已连接&配对的蓝牙LE手镯(服务ID:FF20),具有2个特征: 0xFF21:无响应写入 0xFF22:通知 现在,我尝试使用以下代码通过CoreBluetooth Framework将数据写入0xFF21: 我在头文件中定义了2个常量: #define TRANSFER_SERVICE_UUID @“ FF20 “ #define TRANSFER_SERVI ..
发布时间:2020-10-09 20:37:05 移动开发

是否可以在IOS6.0,IOS6.1,IOS6.1.2上使用CoreBluetooth?

我正在使用bluetooth4.0,但是我发现CoreblueTooth无法在iOS 6+上运行,我的iphone4s是IOS 6.1.2。 它找不到任何设备(我确定设备已打开电源),每次记录如下: CoreBluetooth [警告]未打开 有人遇到过这个问题吗? 解决方案 状态CBCentralManagerStatePoweredOn不仅意味着蓝牙已打开,而且您的C ..
发布时间:2020-10-09 20:35:55 其他开发

didDiscoverPeripheral“无法构建”错误

我不确定为什么此代码无法构建,并且错误消息似乎很隐秘。 代码: var centralManager:CBCentralManager !; var nrf8001Peripheral:CBPeripheral !; 覆盖func viewDidLoad(){ super.viewDidLoad() //加载视图后,通常从笔尖进行其他任何设置。 //初始化cen ..
发布时间:2020-10-09 20:35:51 移动开发

蓝牙和ios状态

使用corebluetooth库成功连接了我的BLE设备,并在ios应用程序中为其设置了某些服务的通知值。在前台和后台模式下都可以正常工作。 我目前将设备的标识符保存为UserDefaults,并且需要ios设备始终始终连接到该设备。 / p> 问题:使用ios应用程序的状态进行corebluetooth实现的最佳实践是什么?具体来说: 用户打开应用程序应执行什么操作? (当前: ..
发布时间:2020-10-09 20:35:48 移动开发

从外围设备更改CBAdvertisementDataManufacturerDataKey

是否可以从 CBPeripheralManager 修改 CBAdvertisementDataManufacturerDataKey ?我知道我可以从 CBCentralManager 获取 CBAdvertisementDataManufacturerDataKey 。 之所以这样做,是因为我希望外围设备在不求助于中央连接的情况下公布10字节的值,发现服务,然后读取包含10字节值的特征。 ..
发布时间:2020-10-09 20:35:42 移动开发

为什么CoreBluetooth一次又一次地发现相同的外围设备?

我已经检查了关于StackOverflow的类似问题,但是由于收到了扫描响应数据,它们都处理了对CBManager委托的didDiscover方法的第二次调用。我的情况与众不同。 我正坐在办公桌旁。我的应用程序在iPhone 6,iOS 10.2上运行。我的应用程序开始扫描时未指定任何服务uuid​​(即发现所有外围设备)。我的应用程序未连接到发现的任何外围设备。正在发现五个不同的外围设备, ..
发布时间:2020-10-09 20:35:39 移动开发

以值null调用的CoreBlueTooth委托didWriteValueForCharacteristic

我将notify设置为一个特征,然后将一些数据(这是要读取的地址和读取的数据长度)写入另一个特征。将调用didUpdateValueForCharacteristic委托,但character.value为零(应具有某个值)且长度正确。 我还要检查委托didWriteValueForCharacteristic。在写入数据后将调用此方法,但是在委托中,feature.value为null,而fe ..
发布时间:2020-10-09 20:35:37 移动开发

如何为可变特征创建描述符?

CBMutableDescriptor:initWithType:value:的文档说,要为type参数传递“识别特征的128位UUID”。然后继续说,您应该仅对类型参数使用 CBUUIDCharacteristicUserDescriptionString 或 CBUUIDCharacteristicFormatString 之一。最后,没有方法向可变特征添加描述符。 看来参数正在做两个互 ..
发布时间:2020-10-09 20:34:26 移动开发

一个单元测试代码如何与Core Bluetooth API交互?

我想对作为 CBPeripheralManager 类的 CBPeripheralManagerDelegate 的类进行单元测试。通常,为了消除外部类的依赖关系,我将通过通过类初始化程序或通过属性传入来使用某种形式的依赖关系注入。在处理基于单例的API时,我已经能够使用Kiwi之类的库对返回单例的类级别方法进行存根(即 [ClassName stub:@selector(sharedInstan ..
发布时间:2020-10-09 20:34:24 移动开发

核心蓝牙iOS 8

我使用Core Bluetooth连接两个ios设备。一切对于ios 7来说都是完美的,但是对于ios 8则没有。装有ios 8的设备作为外围设备不可见。 某些代码: _peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self queue:nil]; [_peripheralManager s ..
发布时间:2020-10-09 20:34:18 移动开发

locationManager:didEnterRegion和didExitRegion永远不会被调用:iBeacon

在使用信标(iOS设备)进行测试时,我发现侦听器信标给出了一些意外行为。即使信标进入区域,也不会调用locationManager:didEnterRegion方法。但是locationManager:didRangeBeacons:inRegion:被正确调用,并且在那里显示了检测到的信标。 -(void)startListening { self.locationManager = ..
发布时间:2020-10-09 20:34:15 移动开发

CBPeripheralManager连接回调

我正在尝试在两个iOS设备之间建立蓝牙连接。这个想法是,一个设备提供一项服务,并且有多个设备连接到它: 设备A(服务):用户在演示文稿中滑动 设备B(多个客户端):用户观看了演示文稿,没有任何互动 在我的理解中,提供该服务的用户应该对其进行宣传并分别通过创建CBPeripheralManager并实现CBPeripheralManagerDelegate->设备A 来成为外 ..
发布时间:2020-10-09 20:33:54 移动开发

如何在不放弃主线程的情况下将CoreBluetooth用于Python

我正在尝试实现将在OS / X上运行并与BLE外围设备对话的通用BLE接口。外围设备非常复杂:它可以被查询,发送数百个不同的命令,提供通知等。我需要能够连接到该设备,发送命令,读取响应,获取更新等。 我拥有所需的所有代码,但由于一件事而感到沮丧:从可以在网上找到的有限信息中,看来使CoreBluetooth的委托回调被调用的唯一方法是通过运行: 从PyObjCTools import ..
发布时间:2020-10-09 20:32:44 Python

在iPhone重新启动时启动iOS BLE Central应用程序

我计划使用CoreBluetooth框架开发一个iOS应用程序,该框架可连续监视计步器外围设备并计算脚步数。 我知道如果将背景执行模式设置为BLE Central,即使在后台应用程序也将继续接收BLE事件。 Apple文档指出,如果由于内存不足而终止应用程序,系统可以保持如果采用了状态保存和恢复功能,则可以跟踪特定Central Manager的BLE事件。 假设我有一个在Cen ..
发布时间:2020-10-09 20:32:40 移动开发

CBCentralManager是否超时连接?

我知道答案的名义上是“否”,但是我的意思是真的-如果应用程序进入后台(启用​​了BTLE后台处理)会怎样? 24小时?在应用程序更新中吗? 在“重新连接到外围设备”标题下,此 Apple文档描述了一种重新连接工作流程,该工作流程首先尝试通过以下方法重新连接到以前的已配对的$ P外围设备: / code>,但是如果连接失败,则再次开始扫描。如果没有正式的超时,您如何知道何时放弃 connect ..
发布时间:2020-10-09 20:32:36 移动开发

如何控制UISlider值更改事件的频率?

我正在编写一个iPhone应用程序,该应用程序使用两个uislider来控制使用coreBluetooth发送的值。如果我快速移动滑块,则一个值会在接收器处冻结,可能是因为Value Changed事件触发的频率很高,以至于写入命令会堆积起来并最终被丢弃。如何确保事件不会触发得太频繁? 编辑: 这里是对问题的澄清;蓝牙连接每105毫秒发送一次命令。如果用户在那段时间内产生了一堆事件,他 ..
发布时间:2020-10-09 20:31:33 移动开发

Swift:为Bluetooth Central Manager选择队列

我正在开发可通过BLE与智能设备连接并与其通信的应用程序。 问题是:在哪个队列中处理蓝牙事件的最佳实践? 我已经阅读了很多教程,在所有教程中我都发现了这一点: centralManager = CBCentralManager(代理:自我,队列:无) 他们选择处理主队列中的蓝牙事件(队列:无),但是我想这不是好的做法。因为可能会有很多查询从中央设备发送到外围设备 ..
发布时间:2020-10-09 20:31:31 移动开发