【Swift UI】Core Bluetoothでペリフェラルの接続を切断する方法!cancelPeripheralConnection
この記事からわかること
- Swift UIでCore BluetoothでBluetooth接続アプリの実装方法
- セントラルからペリフェラルとの接続を切断するには
- cancelPeripheralConnectionメソッドとは?
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
セントラルからペリフェラルの接続を切断する方法
セントラルからペリフェラルの接続を切断するにはcancelPeripheralConnection
メソッドを使用します。引数には接続中のペリフェラル(CBPeripheral
)を指定します。
// ペリフェラルとの接続を切断する
public func disConnect() {
if connectPeripheral != nil {
centralManager.cancelPeripheralConnection(connectPeripheral)
}
}
切断されたことを検知する
切断されたことを検知するにはCBCentralManagerDelegate
に準拠させcentralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?)
デリゲートメソッドから検知することが可能です。
// ペリフェラルからの切断
func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
log.append("ペリフェラルから切断されました。\n")
}
また全体のコードはGitHubに掲載しています。
おすすめ参考書:iOS×BLE Core Bluetoothプログラミング
iOSアプリでBLEを使用した機能を実装したいなら一度は読んでおくことをおすすめする参考書です。iOSでのCore Bluetoothを使用した実装だけでなく、Bluetoothに関する細かい知識やノウハウも詰まっているので網羅的に理解したい方にはバッチリだと思います。
少し古い参考書であり、Objective-CとSwift両方のコードで実装方法が記述されています。Swift UIでの実装方法は載っていませんが、基本的なコードは昔からあまり変わっていないのでつまづくところはなく実装できると思います。
BLEを食材や店員などに例えて解説してくれるので素人でもBLEの概念がつかみやすく記述されています。約500ページくらいあるのでボリュームがすごいですが、ここから得られる知識は数知れませんでした。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。