iOSでのBluetooth通信入門 :CoreBluetoothプログラミングガイド解説:目次

bluetooth-ios_001

このコーナーでは、iOSでBluetooth通信をするためのフレームワークであるCoreBluetoothの解説を行います。

このコンテンツはアップル社の提供する「CoreBluetoothプログラミングガイド」というPDFをwebの形式に変換したものをベースとしています。下記のリンク先のページ中に含まれる図やテキストは「CoreBluetoothプログラミングガイド」からの引用が多く含まれます。PDFの形式ではなくウェブの形式で閲覧したい方への利便性を高めることや、「CoreBluetoothプログラミングガイド」だけではわかりにくいという箇所の捕捉を行うことが当コンテンツの主旨です。


 

Apple「CoreBluetoothプログラミングガイド」+独自解説

Core Bluetoothについて

はじめに

Core Bluetoothではセントラルとペリフェラルが重要な役割を果たす

Core Bluetoothを導入すれば、Bluetoothを扱う上で常に必要となるタスクを簡単に実装できる

iOSアプリケーションの状態によってBluetoothの挙動が変わる

使い勝手を改善するためのベストプラクティスに従う

この文書の使い方

関連項目

Core Bluetoothの概要

セントラルとペリフェラルのBluetooth通信における役割

セントラルは、アドバタイズしているペリフェラルを検出し、接続する

ペリフェラルのデータはどのような構造になっているか

セントラルはペリフェラルがどのようなデータを提供するか調査し、実際にやり取りする

セントラル、ペリフェラル、ペリフェラルのデータをどのように表現するか

セントラル側のオブジェクト

ペリフェラル側のオブジェクト

セントラルが実行するタスク

セントラルマネージャを起動する

アドバタイズしているペリフェラルを検出する

検出したペリフェラルに接続する

接続したペリフェラルのサービスを検出する

サービスの特性を検出する

特性の値を取得する

特性の値を読み取る

特性の値が変化したときに通知するよう申し込む

特性値を書き込む

ペリフェラルが実行するタスク

ペリフェラルマネージャを起動する

サービスおよび特性をセットアップする

サービスや特性はUUIDで識別する

独自のサービスや特性を識別するUUIDを生成する

サービスおよび特性の木を構築する

サービスや特性を登録する

サービスをアドバタイズする

セントラルからの読み書き要求に応答する

特性値が変化したとき、あらかじめ申し込まれているセントラルに通知する

Core Bluetoothのバックグラウンド処理(iOSアプリケーション用)

フォアグラウンド動作のみのアプリケーション

ペリフェラル接続オプションを活用する

Core Bluetoothのバックグラウンド実行モード

バックグラウンド実行モード「bluetooth-central」

バックグラウンド実行モード「bluetooth-peripheral」

バックグラウンド実行モードを適切に活かす

長時間にわたるアクションをバックグラウンドで実行する

状態の保存と復元

状態の保存/復元機能を組み込む

リモートのペリフェラルとのやり取りに関するベストプラクティス

電波の使い方や電池の寿命に注意を払う

デバイスの走査は必要な場合にのみ行う

必要がなければCBCentralManagerScanOptionAllowDuplicatesKeyオプションを指定しない

ペリフェラルのデータを的確に調査する

頻繁に変化する特性については、値の変化を通知するよう申し込む

必要なデータがすべて得られたら切断する

ペリフェラルに再接続する

既知のペリフェラルのリストを取得する

接続済みペリフェラルのリストを取得する

ローカルデバイスをペリフェラルとしてセットアップするためのベストプラクティス

アドバタイズに関する検討事項

アドバタイズするデータの制限事項を考慮する

必要のないデータはアドバタイズしない

特性を設定する

通知の申し込みに対応できるよう特性を設定する

重要なデータについて、ペアリングした機器からのアクセスのみを許可する


※ このコンテンツはアップル社の提供する「CoreBluetoothプログラミングガイド」というPDFをwebの形式に変換したものをベースとしています。ページ中に含まれる図やテキストは「CoreBluetoothプログラミングガイド」からの引用が多く含まれます。PDFの形式ではなくウェブの形式で閲覧したい方への利便性を高めることや、「CoreBluetoothプログラミングガイド」だけではわかりにくいという箇所の捕捉を行うことが当コンテンツの主旨です。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です