みなさん、iOS 13の新機能といえば何を思い浮かべるでしょうか?
そうですね、Bluetoothのパケットキャプチャですね。
iOS 13からLive Captureというものが使えるようになり、
Macに繋いだiPhoneのCore Bluetoothパケットキャプチャができるようになりましたので、
その設定方法です。
Live Captureを始めるにあたり必要なもの
- Xcode 11以上
- iOS 13以上の端末
- 開発者アカウント
Live Captureを始める手順
Additional Toolsをダウンロード
XcodeのバージョンにあったAdditional Toolsをダウンロードしてください
https://developer.apple.com/download/more/
Additional Tools for Macを解凍し、Hardwareフォルダ内にあるPacketLoggerを取り出す
自分はアプリケーションフォルダに入れてしまいます
iOS 13の端末に、Bluetooth developer logging profileをインストール
iOS 13の端末から、Profiles and Logsのサイトにアクセスして、
Bluetooth for iOSのProfileをダウンロードしてください。
ダウンロード後、設定アプリで改めてインストールする必要があります。
https://developer.apple.com/bug-reporting/profiles-and-logs/
PacketLoggerを起動し、ツールバーのFile→New iOS Traceを選択し、パケットキャプチャしたいデバイスを選択
もう、その瞬間に、パケットキャプチャが始まります。
スクリーンショットは、Android(Central)からiOS(Peripheral)へ断続的にPrepare Write Requestを送っているところです。
もう何から何まで覗けるようになってますね。
iPhoneの画面にも、現在パケットキャプチャされていることが上部バーに表示されます。
感想
パケットキャプチャ、めちゃめちゃ楽になりましたね。
んで、AndroidはPrepare Write Requestを送れるんですね。