見出し画像

Core Bluetoothの挙動メモ 2020年版

iOS×BLE本を書いてもう5年以上経つ。そこからBLEやCore Bluetoothもずいぶん変化があったはずだが、ひさしぶりにCore Bluetooth Programming Guideを見てみると2013年から放置されている...

APIリファレンスはもちろん見るが、やっぱり細かいことは書いてない。

Core Bluetoothは「どこにも書いてない」(※)細かい制約だらけなので、それがプロダクト要件ならば早めに自分で動かして確認する必要がある。

(※「どこにも書いてない」とは、APIリファレンスにも、ヘッダコメントにも書いてないし、WWDCセッションでも言ってないし、そういうことを示すサンプルコードも存在しないことを意味する)

(動かしてみて初めてわかる系の情報もネットにあるにはあるが、ドキュメントに記載されていない「Appleは約束していない」情報ではあるので、今は挙動が変わっている可能性はあるし、間違っている可能性もある。一次情報ではない限り話半分で参考にしつつもやっぱり検証してみたほうがいい。)

というわけで2020年現在に自分であらためて動かして確認したことをここに書いていく。


Manufacturer Dataのアドバタイズ

CBAdvertisementDataManufacturerDataKeyというキーはあるが、

このキーに値を渡しても実際にはアドバタイズされない、と2015年に書いた自分の記事には書いてあった。

iOS 12で試してみた。

ここから先は

7,695字

¥ 500

最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/