无法使用CoreBluetooth
问题描述:
显示配对对话框
你好,我现在用的是苹果样品BLTE应用显示配对对话框。(iPhone到iPhone)无法使用CoreBluetooth
这是我创建的特征
self.transferCharacteristic = [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]
properties: CBCharacteristicPropertyRead| CBCharacteristicPropertyNotifyEncryptionRequired
value:nil
permissions:CBAttributePermissionsReadable];
代码上面的代码从苹果公司的文章之一是采取link
这是我的代码,当我通知,并试图从特性
来读取我的问题是,当我尝试此代码,我不明白的配对对话,而不是我得到didUpdateValueForCharacteristic
2017-04-24 17:24:58.636 BTLE Transfer[1351:457263] Error discovering characteristics: Authentication is insufficient.
这个错误这基本上意味着,我需要一个配对阅读,但框架没有按” t显示配对对话框。
我在这里做错了什么?请帮忙。
编辑: 我更新了我的特点如下:
self.transferCharacteristic = [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]
properties: CBCharacteristicPropertyRead| CBCharacteristicPropertyNotifyEncryptionRequired
value:nil
permissions:CBAttributePermissionsReadEncryptionRequired];
答
如果您在使用蓝牙低功耗(不加密),没有配对对话...... 您必须实现你自己配对。
您可以订阅特征/获取通知并读取或写入,就这些了。您必须从CBPeripheralManagerDelegate实现相应的方法。设置你的peripheralManager的代理,这些方法将被调用。
见https://developer.apple.com/reference/corebluetooth/cbperipheralmanagerdelegate?language=objc
+0
我正在使用上面的代码中提到的加密。根据苹果公司的文档,核心蓝牙框架应该在读/写失败时处理配对,但在我的情况下不会发生这种情况。这就是问题 –
加上'CBAttributePermissionsReadEncryptionRequired'我弄明白的权限? – Larme
现在我得到这个错误'发现特征时出错:更改权限后不允许读取'。没有配对对话框。此外,它似乎并没有打我的'didReceiveReadRequest'委托现在 –