iOS核心蓝牙Pin码

iOS核心蓝牙Pin码,ios,bluetooth-lowenergy,core-bluetooth,cbcentralmanager,cbperipheral,Ios,Bluetooth Lowenergy,Core Bluetooth,Cbcentralmanager,Cbperipheral,我有一个需要PIN码的可编程外围设备。 我正在使用iOS 7上的核心蓝牙CBCentralManager连接到此外设 当我连接到此外设时,在成功完成PIN码身份验证之前,会调用“DidConnectPeripal”(中央代理) iOS仅在调用“didConnectPeripheral”后显示pin码对话框 我需要在PIN码对话框完成并且身份验证过程完成后立即开始与外围设备交互。我如何确定这是何时发生的 挑战在于只有在验证成功后才能继续,但是: iOS在对话框之前调用'didFailToConne

我有一个需要PIN码的可编程外围设备。 我正在使用iOS 7上的核心蓝牙CBCentralManager连接到此外设

当我连接到此外设时,在成功完成PIN码身份验证之前,会调用“DidConnectPeripal”(中央代理)

iOS仅在调用“didConnectPeripheral”后显示pin码对话框

我需要在PIN码对话框完成并且身份验证过程完成后立即开始与外围设备交互。我如何确定这是何时发生的

挑战在于只有在验证成功后才能继续,但是:

  • iOS在对话框之前调用'didFailToConnectPeripheral' 展示
  • 如果PIN码授权成功,iOS不会再次调用“didConnectPeripheral”
  • 如果PIN码无效,iOS不会再次调用'didFailToConnectPeripheral' 授权失败
  • 根据上述情况,我无法确定:

  • 当对话框完成时
  • PIN码授权是否成功

  • 任何帮助都将不胜感激。

    根据我在CoreBluetooth的经验,在您尝试未经授权的操作之前,您不会收到任何关于您是否获得授权以及pin码授权何时完成的信息,该操作将失败,并出现以下三种错误响应之一:

    InsufficientEncryption
    InsufficientAuthentication
    InsufficientAuthorization
    

    外围设备决定将返回哪个错误。(从技术上讲,它们是由GATT在Table 4.X规范中定义的,但所有的实现细节都在外围设备侧控制)

    您是否尝试过在
    didtoconnectperipal
    中重新连接?继续这样做,直到成功连接。一旦您接到
    didConnectPerioheral
    的电话,您就可以开始了。您找到解决方案了吗?即使在iOS 9中,它也不会在身份验证警报完成时发出任何通知。嗨,Bhupesh,目前还没有解决方案。