【问题标题】:Removing PIN in Core Bluetooth Connection删除核心蓝牙连接中的 PIN
【发布时间】:2015-09-14 20:06:59
【问题描述】:

我正在开发一个通过核心蓝牙 (BLE) 连接手机的应用程序。连接和数据传输工作精美,但有一个小缺陷。连接到新设备时,必须在其中一个设备上输入 pin。该应用程序应该是非常瞬时的,而引脚输入极大地中断了这个过程。我不担心安全问题,而且我亲自将手机连接到许多蓝牙设备而无需输入密码,所以我只是想知道如何使用 iOS api 来完成。

谢谢!

【问题讨论】:

    标签: ios iphone bluetooth bluetooth-lowenergy core-bluetooth


    【解决方案1】:

    如果您使用“encryptionRequired”属性(CBCharacteristicPropertyNotifyEncryptionRequiredCBCharacteristicPropertyIndicateEncryptionRequired)或权限(CBAttributePermissionsReadEncryptionRequiredCBAttributePermissionsWriteEncryptionRequired)指定外围设备的任何特征,则需要在设备之间进行绑定。

    如果设备尚未绑定,则这将触发配对对话框并需要输入密码。如果您未对外围设备的特征指定任何加密属性或权限,则系统不会提示您进行配对。

    【讨论】:

    • 感谢@Paulw11 的回复。对于我的外围特性,我使用 CBCharacteristicProperties.Read 作为我的属性和 CBAttributePermissions.Readable 作为我的许可。如果我将两者(或只是属性)都设置为 nil,那么我会收到一个错误:“'NSInternalInconsistencyException',原因:'具有缓存值的特性必须是只读的。'”我的代码中可能还有其他需要加密的东西吗?
    猜你喜欢
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多