ios - 无法使用 CoreBluetooth 显示配对对话框

标签 ios objective-c iphone core-bluetooth

您好,我正在使用 Apple Sample BLTE 应用程序来显示配对对话框。(iPhone 到 iPhone)

这是我用于创建特征的代码

self.transferCharacteristic = [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]
                                                                  properties: CBCharacteristicPropertyRead| CBCharacteristicPropertyNotifyEncryptionRequired
                                                                       value:nil
                                                                 permissions:CBAttributePermissionsReadable];

以上代码摘自Apple的一篇文章link

这是我通知并尝试读取特征时的代码

if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) {
        [peripheral setNotifyValue:YES forCharacteristic:characteristic];

        [peripheral readValueForCharacteristic:characteristic];
    }

我的问题是,当我尝试此代码时,我没有收到配对对话框,而是在 didUpdateValueForCharacteristic 中收到此错误

2017-04-24 17:24:58.636 BTLE Transfer[1351:457263] Error discovering characteristics: Authentication is insufficient.

这基本上意味着我需要配对才能阅读,但框架不显示配对对话框。

我在这里做错了什么?请帮忙。

编辑: 我更新了我的特征如下:

self.transferCharacteristic = [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]
                                                                  properties: CBCharacteristicPropertyRead| CBCharacteristicPropertyNotifyEncryptionRequired
                                                                       value:nil
                                                                 permissions:CBAttributePermissionsReadEncryptionRequired];

最佳答案

配对对话框未显示的真正问题是因为我在两部 iPhone 上都有相同的 iCloud 帐户。当我从一台设备上删除帐户时出现配对对话框。

这个答案帮助我弄明白了 link

关于ios - 无法使用 CoreBluetooth 显示配对对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43587679/

相关文章:

ios - UserDefaults 初始值设定项中 suiteName 的真正含义是什么?

ios - 在没有 CATiledLayer 的情况下在 Scrollview 容器中呈现巨大的网格?

ios - 适用于iOS的自定义颜色选择器

iphone - iPhone:YAJL被AppStore接受使用吗?

ios - 如何在推送通知中包含附加信息

javascript - 当日期来自不同时区时,在 IOS 中为 angularjs 项目返回无效日期

ios - UiStackView 内的 UiTextField 没有响应

ios - setFrame 对于 AVCaptureVideoPreviewLayer 不能正常工作

objective-c - 如何将 NSArrayController 的内容集绑定(bind)到多个 NSArrayController 选择?

ios - 将约束迁移到另一个尺寸类 - Xcode