1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Swift・CoreBluetoothで通信を行いメッセージアプリっぽいのを作った1

Last updated at Posted at 2022-01-29

今回の内容

iOS環境下でBluetoothを使用したアプリをサンプルで作ってみました。
使用した言語、開発環境、参考書籍は以下になります。

  • Swift
  • Xcode 13.2.1
  • iOS×BLE Core Bluetoothプログラミング
    注意点として、参考にした書籍は2015年3月23日に発行なので、Swift3で実装してあります。
    そのため、最新の環境で実装する場合はSwift5の記述方法で処理を実装する必要があります。

Bluetooth通信での端末の役割

  • セントラル
  • 接続する端末を検索・接続をする役割
  • ペリフェラル
  • セントラル側に見つけてもらうために信号を送る
  • 共通
  • 送信するデータの書き込み
  • 受信したデータの更新

この記事の実装の一覧

CoreBluetoothを使用して端末同士で通信してやり取りするには役割として以下の二つがあります

セントラル側の処理
  • 通信をする端末の検索
  • Bluetoothが使える状態かを調べる
  • 通信する端末への接続
  • 使用するサービスの検索
  • キャラクタリスティックの検索
  • 接続した端末の読み出し
  • 接続した端末への書き込み
  • データの更新

今回はセントラル側のBLEデバイスの検索だけ実装します。その後の記事は随時更新する予定です。

BLEデバイスの検索

1.まず最初にCoreBluetoothをインポートします
スクリーンショット 2022-01-29 14.56.59.png
2.接続するBLEデバイスを検索します。
検索するために、CBCentralManagerクラスの変数を用意します。centralManager変数がセントラル側の処理を呼び出して
検索や接続などを行います。
スクリーンショット 2022-01-29 14.44.51.png
3.私の場合、viewDidLoadでcentralManagerを初期化しています。
スクリーンショット 2022-01-29 14.50.54.png
4.初期化後、BLEの状態を取得します。BluetoothがOFFの場合、ONする必要があります。
スクリーンショット 2022-01-29 14.53.53.png
5.こちらでは、UIボタンをタップしたときに周辺のBLEデバイスを検索する処理になります
スクリーンショット 2022-01-29 14.47.47.png
6.スキャン結果を受け取る
ここでは発見したBLEデバイスをコンソールに表示しています。
最初の段階で接続したいBLE端末があるかを確認するためです。
スクリーンショット 2022-01-29 14.58.19.png

注意点

Bluetoothを使う際に気をつけたいのは、info.plistファイルにBluetoothを使用することを記述する必要があります。
Infomation Properth Listで +を押しPrivacy - Bluetooth Always Usage Descriptionを追加します。
この記述をしないとBluetoothの機能を使う際にエラーが出てくるのではまりやす箇所だと思います。
スクリーンショット 2022-01-29 14.59.53.png

以上の手順でセントラル側でBLEデバイスを検索することができます。
技術系の投稿は今回が初めてなので、拙い記事ですがこれから少しづつ記事の質を高めていきたいと思います。
次回はセントラル側でBLEデバイスに接続する記事を書きます。
Swift・CoreBluetoothで通信を行いメッセージアプリっぽいのを作った2

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?