我有一个adafruit(它是一个基于arduino的董事会)与BLE在船上。我正在创建一个能够与之交谈的应用程序。我已经设法获得所有蓝牙设备的列表,我可以点击adafruit蓝牙设备并连接它。蓝牙设备指示已建立连接,当我转到另一个视图时,连接中断。在我手动断开连接或设备关闭之前,我不知道应该怎么做以保持连接。
现在我只有一个tableview,显示可用的BLE设备,我可以点击它们进行连接。因此,我使用以下代码。
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let device = devices[indexPath.row]
if let connectedDevice = Settings.getConnectedDevice() {
if connectedDevice == device.identifier?.UUIDString {
manager.cancelPeripheralConnection(device.peripheral)
Settings.removeConnectedDevice()
Settings.setIsConnected(false)
}
}
else {
manager.connectPeripheral(device.peripheral, options: nil)
Settings.setConnectedDevice((device.identifier?.UUIDString)!)
Settings.setIsConnected(true)
}
dispatch_async(dispatch_get_main_queue(), {
self.tableView.reloadData()
})
self.dismissViewControllerAnimated(true, completion: nil)
}