読者です 読者をやめる 読者になる 読者になる

世界が変わったのだから、自分も変わらなくてはならない。

エンジニア兼デザイナーのナカモリのブログです。

【Swift】Bluetoothオン=ペリフェラルではない

アプリ制作 Swift BLE

SwiftでBLEで云々したいなと考えています。そこで、SwiftでBLEを使う方法を下のサイトや書籍を参考に勉強しています。

qiita.com

iOS×BLE Core Bluetoothプログラミング

iOS×BLE Core Bluetoothプログラミング

 

まずは「スキャンして、BLEデバイスを探して、見つける」までをやってみましたが、

f:id:takahironakamori:20160205195547p:plain

うまく見つけることができていません。今日は、なぜ、BLEデバイスを見つけることができなかったのか?の記録です。

1.iOS Simulatorを使ったシミュレーションは使えませんでした。

Xcodeには、iOS Simulatorという便利なシミュレーションアプリがありますが、iOS Simulatorで試すと、スキャンを開始しませんでした。コードは上記のQiitaとほぼ同じなので、省略します。

2.実機でシミュレーションしてみるとスキャン開始しました。

そこで、MacとiPhoneをケーブルで接続して、実機で確認してみると、

f:id:takahironakamori:20160205195609p:plain

スキャン開始しました。そこで、近くにiPadやAndroid のBluetoothをオンにして、確認しているiPhoneに近づけます。でも、スキャン開始から何も表示されません。今思うと何もスキャンされるわけがありません。

3.そもそも、Bluetoothオン=ペリフェラルではない

ペリフェラルとは「周辺にあるBLEデバイス」を言います。Bluetoothをオンにさえすれば、ペリフェラルじゃないの?と思っていましたが、そんなことありません。甘かったです。

ということで、ペリフェラル側の準備も必要ですが、今回は上記の書籍でも紹介されていたiOSアプリ「LightBlue」を使いました。「LightBlue」は仮想のペリフェラルを作ることができますので、仮想ペリフェラルと作ると、

f:id:takahironakamori:20160205195621p:plain

無事、ペリフェラル発見しました。

初歩の初歩で早速詰まりましたが、くじけずに続けていきます。