Geekleboard

Geekな奴がハード開発に関する情報を発信中

iPhoneバックグラウンド中にBLEからデータを取得し続ける

BLEデバイスからデータを受信しサーバーへデータをアップロードし続けるシステムを作る場合、

BLEに接続するアプリはバックグラウンドでも動作させるようにしたい。

 

そんな時は、以下の設定をすることでiPhoneアプリが別アプリのバックグラウンドもしくは画面がスリープ状態となっても

BLEデバイスからNoritificationを受け取ることができる。

 

Info.plistに以下を追加

f:id:ksksue:20141223093918p:plain

・Required backgroud modes

 ・App communicates using CoreBluetooth

 

これで

CBCentralManagerDelegate

CBPeripheralDelegate

がバックグラウンド中でも動作するようになる。

 

動作環境

Xcode 6.1

iOS 8.1.2

 

参考URL:

Apple公式 CoreBluetooth プログラミングガイド

https://developer.apple.com/jp/devcenter/ios/library/documentation/CoreBluetoothPG.pdf