概要
ラズパイとiPhoneとのbluetooth(BLE)接続テストをしたかった。
ラズパイをperipheral、iPhoneをcentralに設定した事例は少ないなか、
参考サイトを見つけ、接続テストを実施。
テストが終盤に差し掛かった頃、iPhoneとの接続エラーが発生
その時のエラーメッセージが「Peer removed pairing information」
やりたかったこと
raspberryPiとiPhoneとのbluetooth(BLE)接続テスト
機器の前提
①raspberryPi
・raspberryPi4(Model B Rev 1.4)
・Raspbianのバージョン:10.10
②iPhone
・iPhoneSE(第1世代)
・IOS14.6
接続テスト時に参考にしたサイト
・iOS/SwiftUIとRaspberryPi/Bleno間でBluetooth LE通信【1・サーバー編】
・iOS/SwiftUIとRaspberryPi/Bleno間でBluetooth LE通信【2・クライアント編】
エラー発生の経緯
①上記の参考サイトに従い、raspberrypiとswiftUIの設定をする。
※書き換える箇所はUUIDぐらいであとはコピペでOK。(ありがとうございます)
②Bluetoothの動作確認はXcodeのシミュレーターではできないようなので実機でテスト起動
※「信頼されていないデベロッパ」のエラー対処法
→ iPhone → 設定 → 一般 → プロファイルとデバイス管理 → デベロッパAPP
→ デベロッパAPP欄にある自身のアカウントを選択
→ ページ遷移後にもう一度自身のアカウントを選択 → 信頼
③iPhoneのアプリ画面上に「Peer removed pairing information」が発生。
code参照し、以下2点を理解
・peripheralのNGであること
・エラーの吐き出し元が「e.localizedDescription」であること
④エラーを頼りに検索すると、appleのデベロッパ向けページがヒット
[Apple Developer Forums](https://developer.apple.com/forums/thread/132488 "CBATTErrorDomain Code=14 "Peer removed pairing information"")
⑤replyを頼りに、Bluetoothの接続端末を一掃
iPhone → 設定 → Bluetooth → 自分のデバイスに表示される端末を全削除
⑥iPhoneアプリ上で、再度接続を試すと成功!
※一度上記対応を終えた後は、その他Bluetoothの機器を接続してもエラーは発生しない。
※日本語の対処法が無かったので、Qiitaに残します。
以上。誰かの参考になれば幸いです!