Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS CoreBluetooth:有没有一种方法可以在不显示iOS警报视图的情况下进行JustWorks配对?_Ios_Core Bluetooth - Fatal编程技术网

iOS CoreBluetooth:有没有一种方法可以在不显示iOS警报视图的情况下进行JustWorks配对?

iOS CoreBluetooth:有没有一种方法可以在不显示iOS警报视图的情况下进行JustWorks配对?,ios,core-bluetooth,Ios,Core Bluetooth,我将iPhone用作中央设备,并连接到外围设备以读取受保护的特征 在我的场景中,对于配对,中央(iPhone)既有键盘又有显示器,外围设备没有输入也没有输出功能 这就迫使中央处理器(iPhone)只执行工作配对 根据Wikipedia——“Just works:顾名思义,这种方法只起作用,没有用户交互。但是,设备可能会提示用户确认配对过程。” 不幸的是,在iOS设备上,BLE堆栈会自动弹出警报视图,提示用户确认或取消配对过程,因此至少在第一次需要用户干预时(好的,这个警报视图是由iOS BLE堆

我将iPhone用作中央设备,并连接到外围设备以读取受保护的特征

在我的场景中,对于配对,中央(iPhone)既有键盘又有显示器,外围设备没有输入也没有输出功能

这就迫使中央处理器(iPhone)只执行工作配对

根据Wikipedia——“Just works:顾名思义,这种方法只起作用,没有用户交互。但是,设备可能会提示用户确认配对过程。”

不幸的是,在iOS设备上,BLE堆栈会自动弹出警报视图,提示用户确认或取消配对过程,因此至少在第一次需要用户干预时(好的,这个警报视图是由iOS BLE堆栈生成的,我们无法从应用程序编程级别阻止它出现)

我的问题是-是否有一种方法可以使此警报视图静音,以便在没有任何用户干预的情况下进行配对


我正在iPhone 6上运行iOS8.3。

正如您所注意到的,尝试在iOS上使用Core Bluetooth读取加密特征会触发绑定过程。需要绑定的Core Bluetooth不支持Just Works配对。只支持密钥配对

您基本上有两种选择:

  • 删除加密要求
  • 接受将显示配对对话框,并提供固定PIN或带外机制(例如,设备上的标签)

  • 这就是“Just Works”在iOS上的行为方式。正如您所注意到的,它删除了密钥传递要求,但没有删除用于绑定的用户交互步骤


    接受的答案不正确,因为不需要密钥&没有用于带外绑定的公开Apple API。此答案更详细地介绍了此答案;

    此答案不正确。请参阅BruceBannor的答案。