ios - didDisconnectPeripheral 未调用 iOS Swift 3
<p><p>我正在尝试断开与 BLE 设备的连接。我正在执行 <code>cancelPeripheralConnection()</code> 并且它从不调用 <code>didDisconnectPeripheral()</code>。
我将通知值设置为一个特征,因此在断开连接时我将其设置为 false。</p>
<pre><code>{
BLEOperations.sharedInstance.connectedDevice?.setNotifyValue(false, for: BLEOperations.sharedInstance.peripheralCharacteristics)
BLEOperations.sharedInstance.manager.cancelPeripheralConnection(BLEOperations.sharedInstance.connectedDevice!)
}
</code></pre>
<p>当用户尝试连接到新设备时,我正在尝试断开 connectedPeripheral。当前设备未断开连接,但新设备与旧设备连接。</p>
<pre><code>{
BLEOperations.sharedInstance.manager.connect(self.peripheralArray as! CBPeripheral , options: nil)
}
</code></pre>
<p>我在这里做错了什么?当设备连接丢失时,将调用该方法。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>当 CentralManager 在整个流程中只有一个实例时,它会正常工作。 </p>
<p>您可以创建一个 CentralManager 操作类(它是单例)并执行操作,而不是在 viewcontroller 中使用 centralmanagerdelegates。 </p>
<p>我做到了,效果很好。</p></p>
<p style="font-size: 20px;">关于ios - didDisconnectPeripheral 未调用 iOS Swift 3,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/41889964/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/41889964/
</a>
</p>
页:
[1]